I trying to get a EntityManagerFactory from a POJO using this code:

  | private EntityManagerFactory emf;
  | ....
  | emf = Persistence.createEntityManagerFactory("fonocontrolDatabase");
  | 
  | 

but when I run the app I get and Exception.

I'm using Seam with the embedded microcontainer in a Tomcat server so
I think the problem is with the tomcat JNDI beacuse the datasource its in the 
microcontainer and the method it's looking in the in the wrong enviroment.


  | FATAL 01-06 17:04:41,781 (DatasourceConnectionProvider.java:configure:55)  
-Could not find datasource: java:/fonocontrolDatasource
  | javax.naming.NameNotFoundException: El nombre fonocontrolDatasource no este 
asociado a este contexto
  |         at org.apache.naming.NamingContext.lookup(NamingContext.java:769)
  |         at org.apache.naming.NamingContext.lookup(NamingContext.java:152)
  |         at 
org.apache.naming.SelectorContext.lookup(SelectorContext.java:136)
  |         at javax.naming.InitialContext.lookup(InitialContext.java:351)
  |         at 
org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:52)
  |         at 
org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:124)
  |         at 
org.hibernate.ejb.InjectionSettingsFactory.createConnectionProvider(InjectionSettingsFactory.java:28)
  |         at 
org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:61)
  |         at 
org.hibernate.cfg.Configuration.buildSettings(Configuration.java:1885)
  |         at 
org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1178)
  |         at 
org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:500)
  |         at 
org.hibernate.ejb.Ejb3Configuration.createEntityManagerFactory(Ejb3Configuration.java:627)
  |         at 
org.hibernate.ejb.Ejb3Configuration.createFactory(Ejb3Configuration.java:126)
  |         at 
org.hibernate.ejb.Ejb3Configuration.createEntityManagerFactory(Ejb3Configuration.java:180)
  |         at 
org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:110)
  |         at 
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:37)
  |         at 
com.antartec.fonocontrol.procesador.bean.impl.ProcesadorEntityManagerBean.<init>(ProcesadorEntityManagerBean.java:35)
  |         at 
com.antartec.fonocontrol.procesador.bean.impl.ProcesadorEntityManagerBean.getInstance(ProcesadorEntityManagerBean.java:30)
  |         at 
com.antartec.fonocontrol.procesador.bean.impl.ParserBeanThread.getEntityManager(ParserBeanThread.java:118)
  |         at 
com.antartec.fonocontrol.procesador.bean.impl.ParserBeanThread.run(ParserBeanThread.java:63)
  | javax.persistence.PersistenceException: org.hibernate.HibernateException: 
Could not find datasource
  |         at 
org.hibernate.ejb.Ejb3Configuration.createEntityManagerFactory(Ejb3Configuration.java:188)
  |         at 
org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:110)
  |         at 
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:37)
  |         at 
com.antartec.fonocontrol.procesador.bean.impl.ProcesadorEntityManagerBean.<init>(ProcesadorEntityManagerBean.java:35)
  |         at 
com.antartec.fonocontrol.procesador.bean.impl.ProcesadorEntityManagerBean.getInstance(ProcesadorEntityManagerBean.java:30)
  |         at 
com.antartec.fonocontrol.procesador.bean.impl.ParserBeanThread.getEntityManager(ParserBeanThread.java:118)
  |         at 
com.antartec.fonocontrol.procesador.bean.impl.ParserBeanThread.run(ParserBeanThread.java:63)
  | Caused by: org.hibernate.HibernateException: Could not find datasource
  |         at 
org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:56)
  |         at 
org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:124)
  |         at 
org.hibernate.ejb.InjectionSettingsFactory.createConnectionProvider(InjectionSettingsFactory.java:28)
  |         at 
org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:61)
  |         at 
org.hibernate.cfg.Configuration.buildSettings(Configuration.java:1885)
  |         at 
org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1178)
  |         at 
org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:500)
  |         at 
org.hibernate.ejb.Ejb3Configuration.createEntityManagerFactory(Ejb3Configuration.java:627)
  |         at 
org.hibernate.ejb.Ejb3Configuration.createFactory(Ejb3Configuration.java:126)
  |         at 
org.hibernate.ejb.Ejb3Configuration.createEntityManagerFactory(Ejb3Configuration.java:180)
  |         ... 6 more
  | 

My Persistent.xml:


  |     <persistence-unit name="fonocontrolDatabase">
  |         <provider>org.hibernate.ejb.HibernatePersistence</provider>
  |         <jta-data-source>java:/fonocontrolDatasource</jta-data-source>
  |         <properties>
  |             <!--<property name="hibernate.hbm2ddl.auto" value="update"/>-->
  |             <property name="hibernate.cache.use_query_cache" value="true"/>
  |             <property name="hibernate.show_sql" value="false"/>
  |             <property name="jboss.entity.manager.factory.jndi.name" 
value="java:/EntityManagerFactories/fonocontrolData"/>
  |             <property name="jboss.entity.manager.jndi.name" 
value="java:/fonocontrolEntityManager" />
  |         </properties>
  |     </persistence-unit>

My Jboss-bean.xml


  |    <bean name="fonocontrolDatasourceBootstrap" 
class="org.jboss.resource.adapter.jdbc.local.LocalTxDataSource">
  |       <property name="driverClass">com.mysql.jdbc.Driver</property>
  |       <property 
name="connectionURL">jdbc:mysql://192.168.1.100:3306/fonocontrol</property>
  |       <property name="userName">fonocontrol</property>
  |       <property name="password">fonocontrol</property>
  |       <property name="jndiName">java:/fonocontrolDatasource</property>
  |       <property name="minSize">0</property>
  |       <property name="maxSize">10</property>
  |       <property name="blockingTimeout">1000</property>
  |       <property name="idleTimeout">100000</property>
  |       <property name="transactionManager"><inject 
bean="TransactionManager"/></property>
  |       <property name="cachedConnectionManager"><inject 
bean="CachedConnectionManager"/></property>
  |       <property name="initialContextProperties"><inject 
bean="InitialContextProperties"/></property>
  |    </bean>
  | 
  |    <bean name="fonocontrolDatasource" class="java.lang.Object">
  |       <constructor factoryMethod="getDatasource">
  |          <factory bean="fonocontrolDatasourceBootstrap"/>
  |       </constructor>
  |    </bean>

the web.xml


  |     <context-param>
  |         
<param-name>org.jboss.seam.core.init.managedPersistenceContexts</param-name>
  |         <param-value>seguridadDatabase fonocontrolDatabase</param-value>
  |     </context-param>
  | 
  |     <context-param>
  |         <param-name>seguridadDatabase.persistenceUnitJndiName</param-name>
  |         
<param-value>java:/EntityManagerFactories/seguridadData</param-value>
  |     </context-param>
  |     
  |     <context-param>
  |         <param-name>fonocontrolDatabase.persistenceUnitJndiName</param-name>
  |         
<param-value>java:/EntityManagerFactories/fonocontrolData</param-value>
  |     </context-param>
  | 

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3948569#3948569

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3948569


_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to