Pessoal, estou tentando configurar essas três tecnologias juntas e estou tendo alguns probleminhas.
Segui
esse tutorial do próprio Dan Allen, mas talvez não tenha entendido corretamente.
Inicialmente resolvi todos os problemas de dependência necessárias colocando os jars que são exigidos para a aplicação rodar.
Até aí tudo bem. Em seguida fiz as configurações necessárias citadas no tutorial:
Neste último passo eu não coloquei o componente
<component name="org.jboss.seam.persistence.persistenceProvider"
class="org.jboss.seam.persistence.PersistenceProvider"/>
No components.xml
Fiz a segunda opção, um componente do tipo:
import javax.persistence.EntityManager;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.persistence.PersistenceProvider;
@Name("org.jboss.seam.persistence.persistenceProvider")
public class NoManualFlushPersistenceProvider extends PersistenceProvider {
@Override
public void setFlushModeManual(EntityManager entityManager) {
// no-op
}
}
Mas o provedor do entity manager está retornando nullo. Alguém sabe por quê?
A exceção foi:
Caused by: javax.persistence.PersistenceException: No Persistence provider for EntityManager named ITVP3: The following providers:
oracle.toplink.essentials.PersistenceProvider
oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider
Returned null to createEntityManagerFactory.
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:154)
at org.jboss.seam.persistence.EntityManagerFactory.createEntityManagerFactory(EntityManagerFactory.java:85)
at org.jboss.seam.persistence.EntityManagerFactory.startup(EntityManagerFactory.java:50)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:144)
at org.jboss.seam.Component.callComponentMethod(Component.java:2257)
at org.jboss.seam.Component.callCreateMethod(Component.java:2172)
at org.jboss.seam.Component.newInstance(Component.java:2132)
... 76 more
--
Diénert de Alencar Vieira
Sun Certified Java Programmer - SCJP 6
Graduado em Sistemas para Internet - IFPB
Bacharelando em Ciência da Computação - UFPB