Problema com persistence.xml

Pessoal, estou com um problema…

Eu tinha uma aplicação web que rodava normalmente, no entanto, houve manutenção dos servidores e o IP das bases de dados foram alterados…
fui no meu arquivo Persistence.xml e alterei o IP para o novo IP…

no entanto, ao executar a aplicação, aparece o seguinte erro:

javax.persistence.PersistenceException: No Persistence provider for EntityManager named RelatorioTsPUPrjDados
        at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
        at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)
        at br.com.projectus.util.HibernateUtilPrjDados.<clinit>(HibernateUtilPrjDados.java:23)
        at br.com.projectus.relatorioTs.persistencia.DisciplinaController.getDisciplinas(DisciplinaController.java:90)
        at relatoriots.Relatorio.getItemsComboBox(Relatorio.java:1932)
        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 javax.el.BeanELResolver.getValue(BeanELResolver.java:62)
        at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
        at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:64)
        at org.apache.el.parser.AstValue.getValue(AstValue.java:97)
        at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
        at org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:101)
        at javax.faces.component.UISelectItems.getValue(UISelectItems.java:130)
        at com.sun.faces.renderkit.RenderKitUtils.getSelectItems(RenderKitUtils.java:323)
        at com.sun.faces.renderkit.html_basic.MenuRenderer.getOptionNumber(MenuRenderer.java:675)
        at com.sun.faces.renderkit.html_basic.MenuRenderer.renderSelect(MenuRenderer.java:793)
        at com.sun.faces.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:335)
        at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:833)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:896)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
        at com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:244)
        at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:175)
        at org.ajax4jsf.framework.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
        at org.ajax4jsf.framework.ajax.AjaxViewHandler.renderView(AjaxViewHandler.java:260)
        at com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.renderView(ViewHandlerImpl.java:320)
        at org.ajax4jsf.framework.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
        at org.ajax4jsf.framework.ajax.AjaxViewHandler.renderView(AjaxViewHandler.java:260)
        at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
        at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
        at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
        at com.sun.faces.extensions.avatar.lifecycle.PartialTraversalLifecycle.render(PartialTraversalLifecycle.java:106)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:267)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)
09/06/2008 17:34:21 com.sun.faces.lifecycle.LifecycleImpl phase
WARNING: executePhase(RENDER_RESPONSE 6,com.sun.faces.context.FacesContextImpl@2505b7) threw exception
com.sun.rave.web.ui.appbase.ApplicationException: org.apache.jasper.el.JspELException: /Relatorio.jsp(29,150) '#{Relatorio.itemsComboBox}' Error reading 'itemsComboBox' on type relatoriots.Relatorio
        at com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.cleanup(ViewHandlerImpl.java:594)
        at com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.renderView(ViewHandlerImpl.java:325)
        at org.ajax4jsf.framework.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
        at org.ajax4jsf.framework.ajax.AjaxViewHandler.renderView(AjaxViewHandler.java:260)
        at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
        at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
        at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
        at com.sun.faces.extensions.avatar.lifecycle.PartialTraversalLifecycle.render(PartialTraversalLifecycle.java:106)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:267)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)
Caused by: javax.faces.FacesException: org.apache.jasper.el.JspELException: /Relatorio.jsp(29,150) '#{Relatorio.itemsComboBox}' Error reading 'itemsComboBox' on type relatoriots.Relatorio
        at javax.faces.component.UISelectItems.getValue(UISelectItems.java:133)
        at com.sun.faces.renderkit.RenderKitUtils.getSelectItems(RenderKitUtils.java:323)
        at com.sun.faces.renderkit.html_basic.MenuRenderer.getOptionNumber(MenuRenderer.java:675)
        at com.sun.faces.renderkit.html_basic.MenuRenderer.renderSelect(MenuRenderer.java:793)
        at com.sun.faces.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:335)
        at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:833)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:896)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
        at com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:244)
        at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:175)
        at org.ajax4jsf.framework.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
        at org.ajax4jsf.framework.ajax.AjaxViewHandler.renderView(AjaxViewHandler.java:260)
        at com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.renderView(ViewHandlerImpl.java:320)
        ... 25 more
Caused by: org.apache.jasper.el.JspELException: /Relatorio.jsp(29,150) '#{Relatorio.itemsComboBox}' Error reading 'itemsComboBox' on type relatoriots.Relatorio
        at org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:107)
        at javax.faces.component.UISelectItems.getValue(UISelectItems.java:130)
        ... 41 more
Caused by: java.lang.ExceptionInInitializerError
        at br.com.projectus.util.HibernateUtilPrjDados.<clinit>(HibernateUtilPrjDados.java:26)
        at br.com.projectus.relatorioTs.persistencia.DisciplinaController.getDisciplinas(DisciplinaController.java:90)
        at relatoriots.Relatorio.getItemsComboBox(Relatorio.java:1932)
        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 javax.el.BeanELResolver.getValue(BeanELResolver.java:62)
        at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
        at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:64)
        at org.apache.el.parser.AstValue.getValue(AstValue.java:97)
        at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
        at org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:101)
        ... 42 more

aqui está o meu arquivo persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
  <!-- Unidade de persistência para o banco time_sheet_teste-->
  <persistence-unit name="RelatorioTsPU" transaction-type="RESOURCE_LOCAL">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <class>br.com.projectus.relatorioTs.dados.ApropriacaoUnico</class>
    <class>br.com.projectus.relatorioTs.dados.Pessoa</class>    
    <properties>
      <property name="hibernate.connection.driver_class" value="oracle.jdbc.driver.OracleDriver"/>
      <property name="hibernate.connection.url" value="jdbc:oracle:thin:@192.168.45.2:1521:xe"/>
      <property name="hibernate.connection.username" value="root"/>
      <property name="hibernate.connection.password" value="root"/>
      <!--property name="hibernate.show_sql" value="true"/-->
      <property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect"/>
      <property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
    </properties>
  </persistence-unit>

  <!-- Unidade de persistencia para o banco prj_dados-->
  <persistence-unit name="RelatorioTsPUPrjDados" transaction-type="RESOURCE_LOCAL">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <class>br.com.projectus.relatorioTs.dados.Disciplina</class>
    <class>br.com.projectus.relatorioTs.dados.Funcionario</class>
    
    <properties>
      <property name="hibernate.connection.driver_class" value="oracle.jdbc.driver.OracleDriver"/>
      <property name="hibernate.connection.url" value="jdbc:oracle:thin:@192.168.45.2:1521:xe"/>
      <property name="hibernate.connection.username" value="root"/>
      <property name="hibernate.connection.password" value="root"/>
      <!--property name="hibernate.show_sql" value="true"/-->
      <property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect"/>
      <property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
    </properties>
  </persistence-unit>
</persistence>

e o erro acontece aqui:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.projectus.util;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.PersistenceException;

/**
 *
 * @author Vitor Ribeiro de Oliveira
 * @email  vitor.oliveira@projectus.com.br
 */
public class HibernateUtilPrjDados {
    private static final EntityManagerFactory SESSION_FACTORY;
    
    static{
        try{
            SESSION_FACTORY = Persistence.createEntityManagerFactory("RelatorioTsPUPrjDados");
        } catch(PersistenceException ex){
            ex.printStackTrace();
            throw new ExceptionInInitializerError();
        }        
    }
    
    public static EntityManager getEntityManager() throws PersistenceException{
        return SESSION_FACTORY.createEntityManager();
    }
}

Espero que vocês possam me ajudar…

Você está buscando por RelatorioTsPUPrjDados e no seu persistence.xml o seu persistence unit se chama RelatorioTsPU. Ponha os nomes iguais…
Mude de
SESSION_FACTORY = Persistence.createEntityManagerFactory(“RelatorioTsPUPrjDados”);
para
SESSION_FACTORY = Persistence.createEntityManagerFactory(“RelatorioTsPU”);

[]'s

Sávio Barros

Mas isso não deveria funcionar? Afinal de contas, eu tenho duas unidades de persistência diferentes…

uma chama-se RelatorioTsPU e a outra RelatorioTsPUPrjDados

persistence-unit name="RelatorioTsPUPrjDados" transaction-type="RESOURCE_LOCAL">  

Talvez eu não tenha sido muito claro pois, para ocultar usuário e senha do BD da empresa, eu acabei colocando o mesmo usuário e senha em ambas as PersistenceUnit…

mas o que quero dizer é que as bases de dados são diferentes… por isso que tenho duas unidades de persistência…

Olá, tudo bem?
Vc tem duas persistence units apontando pro mesmo banco, mesmo esquema, mesmo user etc. Tenta mudar… normalmente eu uso mais de uma persistence unit para bancos diferentes.

[]'s

Sávio Barros

[quote=vtr.oliveira]Mas isso não deveria funcionar? Afinal de contas, eu tenho duas unidades de persistência diferentes…

uma chama-se RelatorioTsPU e a outra RelatorioTsPUPrjDados

persistence-unit name="RelatorioTsPUPrjDados" transaction-type="RESOURCE_LOCAL">  

Talvez eu não tenha sido muito claro pois, para ocultar usuário e senha do BD da empresa, eu acabei colocando o mesmo usuário e senha em ambas as PersistenceUnit…

mas o que quero dizer é que as bases de dados são diferentes… por isso que tenho duas unidades de persistência…[/quote]

Olá,
Do jeito que está configurado, as duas unidades estão apontando para o mesmo banco. Veja que têm o mesmo ip de servidor e mesmo esquema, bem como o mesmo usuário e senha. Não estão apontando para bancos diferentes.

Grande abraço

Sávio Barros

o problema é… o IP dos dois bancos é o mesmo…

192.168.51.243… no entanto, um dos esquemas chama-se time_sheet e o outro prj_dados

mudei para a segui te configuração, mas ainda não funciona

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
  <!-- Unidade de persistência para o banco time_sheet_teste-->
  <persistence-unit name="RelatorioTsPU" transaction-type="RESOURCE_LOCAL">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <class>br.com.projectus.relatorioTs.dados.ApropriacaoUnico</class>
    <class>br.com.projectus.relatorioTs.dados.Pessoa</class>    
    <properties>
      <property name="hibernate.connection.driver_class" value="oracle.jdbc.driver.OracleDriver"/>
      <property name="hibernate.connection.url" value="jdbc:oracle:thin:@192.168.51.243:1521:xe"/>
      <property name="hibernate.connection.username" value="time_sheet"/>
      <property name="hibernate.connection.password" value="time_sheet"/>
      <!--property name="hibernate.show_sql" value="true"/-->
      <property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect"/>
      <property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
    </properties>
  </persistence-unit>

  <!-- Unidade de persistencia para o banco prj_dados-->
  <persistence-unit name="RelatorioTsPUPrjDados" transaction-type="RESOURCE_LOCAL">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <class>br.com.projectus.relatorioTs.dados.Disciplina</class>
    <class>br.com.projectus.relatorioTs.dados.Funcionario</class>    
    <properties>
      <property name="hibernate.connection.driver_class" value="oracle.jdbc.driver.OracleDriver"/>
      <property name="hibernate.connection.url" value="jdbc:oracle:thin:@192.168.51.243:1521:xe"/>
      <property name="hibernate.connection.username" value="prj_dados"/>
      <property name="hibernate.connection.password" value="prj_dados"/>
      <!--property name="hibernate.show_sql" value="true"/-->
      <property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect"/>
      <property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
    </properties>
  </persistence-unit>
</persistence>