Erro ao criar EntityManagerFactory

2 respostas
rollei

Bem, como os topicos que eu vi sobre esse assunto nao responderam minha pergunta ... por sinal teve um topico que o cara estava com o problema exatamente igual ao meu (topico de 2007), mas ele na obteve resposta, resolvi criar esse topico

vou ate quotar o texto desse cara que estava com o mesmo problema que eu:

Pessoal vcs ja usaram JPA do tipo JTA sem ser por injeção de dependecia, tipo:

EntityManagerFactory factory = Persistence.createEntityManagerFactory("compra_obras_pu");
e a patir do factory pegar o Entityanager

da erro dizendo que nao tem provider para a persistence:

Caused by: javax.persistence.PersistenceException: No Persistence provider for EntityManager named compra_obras_pu: The following providers:
oracle.toplink.essentials.PersistenceProvider
oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider
Returned null to createEntityManagerFactory.

aqui vai o erro

log do erro
HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Unable to instantiate Action, br.gov.ce.seplag.pdtiweb.actions.ActAplicacao,  defined for 'prepararConsultar' in namespace '/aplicacao'No Persistence provider for EntityManager named pdtiweb - action - file:/C:/Projetos/pdtiweb/FONTES/pdtiweb/build/web/WEB-INF/classes/config/struts-aplicacao.xml:27:31
	org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:518)
	org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:421)

root cause

Unable to instantiate Action, br.gov.ce.seplag.pdtiweb.actions.ActAplicacao,  defined for 'prepararConsultar' in namespace '/aplicacao'No Persistence provider for EntityManager named pdtiweb - action - file:/C:/Projetos/pdtiweb/FONTES/pdtiweb/build/web/WEB-INF/classes/config/struts-aplicacao.xml:27:31
	com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:289)
	com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:360)
	com.opensymphony.xwork2.DefaultActionInvocation.access$000(DefaultActionInvocation.java:38)
	com.opensymphony.xwork2.DefaultActionInvocation$1.doProfiling(DefaultActionInvocation.java:78)
	com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
	com.opensymphony.xwork2.DefaultActionInvocation.<init>(DefaultActionInvocation.java:70)
	com.opensymphony.xwork2.DefaultActionInvocation.<init>(DefaultActionInvocation.java:66)
	com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189)
	org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41)
	org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:497)
	org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:421)

root cause

javax.persistence.PersistenceException: No Persistence provider for EntityManager named pdtiweb
	javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:56)
	javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:34)
	br.gov.ce.seplag.pdtiweb.persistence.PrsPadraoBean.initialize(PrsPadraoBean.java:45)
	br.gov.ce.seplag.pdtiweb.persistence.PrsPadraoBean.<init>(PrsPadraoBean.java:73)
	br.gov.ce.seplag.pdtiweb.persistence.PrsDaoBean.<init>(PrsDaoBean.java:32)
	br.gov.ce.seplag.pdtiweb.business.generic.BusinessGeneric.<init>(BusinessGeneric.java:22)
	br.gov.ce.seplag.pdtiweb.business.generic.BusinessBean.<init>(BusinessBean.java:9)
	br.gov.ce.seplag.pdtiweb.business.NgcAplicacaoBean.<init>(NgcAplicacaoBean.java:10)
	br.gov.ce.seplag.pdtiweb.business.BusinessFactory.getNgcAplicacao(BusinessFactory.java:189)
	br.gov.ce.seplag.pdtiweb.actions.ActAplicacao.<init>(ActAplicacao.java:60)
	sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	java.lang.Class.newInstance0(Class.java:355)
	java.lang.Class.newInstance(Class.java:308)
	com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:121)
	com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:152)
	com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:141)
	com.opensymphony.xwork2.ObjectFactory.buildAction(ObjectFactory.java:111)
	com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:270)
	com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:360)
	com.opensymphony.xwork2.DefaultActionInvocation.access$000(DefaultActionInvocation.java:38)
	com.opensymphony.xwork2.DefaultActionInvocation$1.doProfiling(DefaultActionInvocation.java:78)
	com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
	com.opensymphony.xwork2.DefaultActionInvocation.<init>(DefaultActionInvocation.java:70)
	com.opensymphony.xwork2.DefaultActionInvocation.<init>(DefaultActionInvocation.java:66)
	com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189)
	org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41)
	org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:497)
	org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:421)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.16 logs.
Apache Tomcat/6.0.16

e o trecho do codigo que esta dando erro

PrsPadraoBean.java
public abstract class PrsPadraoBean<Entity extends Model> {

    private Class<?> classEntidade = null;
    
    //Gerenciador de fábrica de entidades.
    private EntityManagerFactory factory = null;
    
    //Entidade responsável pela persistência.
    private EntityManager manager = null;
    
    //Referência do persistence.xml.
    private static final String PERSISTENCE_NAME = "pdtiweb";
    private String causaErro = "";

    /**
     * Inicialização da classe de persistência.
     * 
     * @author Aldivone Correia[[email removido]] - $12/05/2007:23:19:57$
     * 
     */
    private void initialize() {
        if (this.factory == null) {
            this.factory = Persistence.createEntityManagerFactory(PERSISTENCE_NAME);
        }

        if (this.manager == null) {
            this.manager = this.factory.createEntityManager();
        }

    }

para completar
[img]http://img110.imageshack.us/img110/4281/imagemwy0.jpg[/img]
[img]http://img501.imageshack.us/img501/3500/imagemph1.jpg[/img]

2 Respostas

rollei

fiquei encucado com uma coisa agora, quando eu rodo pela primeira vez (acabei de reiniciar o tomcat) ele da um erro, depois ele da outro erro

esse erro que eu coloquei ai em cima eh quando eu jah tentei rodar ele pelo menos uma vez antes.

esse erro aqui:

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Unable to instantiate Action, br.gov.ce.seplag.pdtiweb.actions.ActOrcamento,  defined for 'prepararConsultar' in namespace '/orcamento'null - action - file:/C:/Projetos/pdtiweb/FONTES/pdtiweb/build/web/WEB-INF/classes/config/struts-orcamento.xml:27:31
	org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:518)
	org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:421)

root cause

Unable to instantiate Action, br.gov.ce.seplag.pdtiweb.actions.ActOrcamento,  defined for 'prepararConsultar' in namespace '/orcamento'null - action - file:/C:/Projetos/pdtiweb/FONTES/pdtiweb/build/web/WEB-INF/classes/config/struts-orcamento.xml:27:31
	com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:289)
	com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:360)
	com.opensymphony.xwork2.DefaultActionInvocation.access$000(DefaultActionInvocation.java:38)
	com.opensymphony.xwork2.DefaultActionInvocation$1.doProfiling(DefaultActionInvocation.java:78)
	com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
	com.opensymphony.xwork2.DefaultActionInvocation.<init>(DefaultActionInvocation.java:70)
	com.opensymphony.xwork2.DefaultActionInvocation.<init>(DefaultActionInvocation.java:66)
	com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189)
	org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41)
	org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:497)
	org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:421)

root cause

java.lang.NullPointerException
	java.util.Hashtable.put(Hashtable.java:394)
	java.util.Properties.setProperty(Properties.java:143)
	oracle.toplink.essentials.internal.ejb.cmp3.xml.parser.PersistenceContentHandler.startElement(PersistenceContentHandler.java:96)
	com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501)
	com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:688)
	com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:400)
	com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2740)
	com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:645)
	com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
	com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:508)
	com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
	com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
	com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
	com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
	com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
	oracle.toplink.essentials.ejb.cmp3.persistence.PersistenceUnitProcessor.processPersistenceXML(PersistenceUnitProcessor.java:136)
	oracle.toplink.essentials.ejb.cmp3.persistence.PersistenceUnitProcessor.processPersistenceArchive(PersistenceUnitProcessor.java:84)
	oracle.toplink.essentials.ejb.cmp3.persistence.PersistenceUnitProcessor.getPersistenceUnits(PersistenceUnitProcessor.java:74)
	oracle.toplink.essentials.internal.ejb.cmp3.JavaSECMPInitializer.initPersistenceUnits(JavaSECMPInitializer.java:223)
	oracle.toplink.essentials.internal.ejb.cmp3.JavaSECMPInitializer.initialize(JavaSECMPInitializer.java:242)
	oracle.toplink.essentials.internal.ejb.cmp3.JavaSECMPInitializer.initializeFromMain(JavaSECMPInitializer.java:278)
	oracle.toplink.essentials.internal.ejb.cmp3.JavaSECMPInitializer.getJavaSECMPInitializer(JavaSECMPInitializer.java:81)
	oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider.createEntityManagerFactory(EntityManagerFactoryProvider.java:119)
	javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:52)
	javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:34)
	br.gov.ce.seplag.pdtiweb.persistence.PrsPadraoBean.initialize(PrsPadraoBean.java:45)
	br.gov.ce.seplag.pdtiweb.persistence.PrsPadraoBean.<init>(PrsPadraoBean.java:73)
	br.gov.ce.seplag.pdtiweb.persistence.PrsDaoBean.<init>(PrsDaoBean.java:32)
	br.gov.ce.seplag.pdtiweb.business.generic.BusinessGeneric.<init>(BusinessGeneric.java:22)
	br.gov.ce.seplag.pdtiweb.business.generic.BusinessBean.<init>(BusinessBean.java:9)
	br.gov.ce.seplag.pdtiweb.business.NgcOrcamentoBean.<init>(NgcOrcamentoBean.java:10)
	br.gov.ce.seplag.pdtiweb.business.BusinessFactory.getNgcOrcamento(BusinessFactory.java:109)
	br.gov.ce.seplag.pdtiweb.actions.ActOrcamento.<init>(ActOrcamento.java:58)
	sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	java.lang.Class.newInstance0(Class.java:355)
	java.lang.Class.newInstance(Class.java:308)
	com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:121)
	com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:152)
	com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:141)
	com.opensymphony.xwork2.ObjectFactory.buildAction(ObjectFactory.java:111)
	com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:270)
	com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:360)
	com.opensymphony.xwork2.DefaultActionInvocation.access$000(DefaultActionInvocation.java:38)
	com.opensymphony.xwork2.DefaultActionInvocation$1.doProfiling(DefaultActionInvocation.java:78)
	com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
	com.opensymphony.xwork2.DefaultActionInvocation.<init>(DefaultActionInvocation.java:70)
	com.opensymphony.xwork2.DefaultActionInvocation.<init>(DefaultActionInvocation.java:66)
	com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189)
	org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41)
	org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:497)
	org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:421)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.16 logs.
Apache Tomcat/6.0.16

acontece quando eu tento rodar pela primeira vez

estranho :/ ... da primeira vez ele acha a persistencia mas ta dando um NPE depois que roda uma vez ele nem acha mais a persistencia ... alguem pode me dar uma luz?

rollei

up :frowning:

EDIT
to usando javaEE5

Criado 17 de junho de 2008
Ultima resposta 20 de jun. de 2008
Respostas 2
Participantes 1