[jboss-user] [EJB 3.0] - Re: EntityManagerFactory null from JNDI?
dfarkish3
do-not-reply at jboss.com
Wed Nov 8 21:32:07 EST 2006
"rocken7" wrote : EntityManagerFactory is null in jndi. No errors, no warnings, notta just null or "not found" etc.
|
| Yep I've seen posts on this, but no good answer.
|
| jboss-4.0.4.GA
|
| So far my SLSB beans work remotely for unit tests.
|
| But ...
|
| How do you get an EntitManagerFactory from outside the container?
|
| JNDI always returns either not found or null.
|
| In my META-INF/persistence.xml file (of the deployed test jar):
|
| <?xml version="1.0" encoding="UTF-8"?>
| | <persistence>
| | <persistence-unit name="fudb">
| | <jta-data-source>java:/MySqlDS</jta-data-source>
| | <exclude-unlisted-classes>false</exclude-unlisted-classes>
| | <class>com.fubar.ads.clicks.model.DataDemographic</class>
| | <properties>
| | <property name="hibernate.hbm2ddl.auto" value="update"/>
| | <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
| | <property name="jboss.entity.manager.jndi.name" value="fudb"/>
| | <property name="jboss.entity.manager.factory.jndi.name" value="fudbFactory"/>
| | </properties>
| | </persistence-unit>
| | </persistence>
|
|
| All of the following test methods fail:
|
|
| | // testEMF() blows with javax.persistence.PersistenceException: No Persistence provider for EntityManager named
| |
| | public void testEMF() throws Exception
| | {
| | EntityManagerFactory emf = Persistence.createEntityManagerFactory("fudb");
| | assertNotNull("EntityManagerFactory not accessible.", emf );
| | }
| |
| | public void testEMF2() throws Exception
| | {
| | InitialContext ctx = getInitialContext();
| | Object em = ctx.lookup("java:/fudb");
| | assertNotNull("obj is null.", em );
| | }
| |
| | public void testEMF2b() throws Exception
| | {
| | InitialContext ctx = getInitialContext();
| | Object em = ctx.lookup("fudb");
| | assertNotNull("obj is null.", em );
| | }
| |
| | public void testEMF3() throws Exception
| | {
| | InitialContext ctx = getInitialContext();
| | Object em = ctx.lookup("java:/fudbFactory");
| | assertNotNull("obj is null.", em );
| | }
| |
| | public void testEMF3b() throws Exception
| | {
| | InitialContext ctx = getInitialContext();
| | Object em = ctx.lookup("fudbFactory");
| | assertNotNull("obj is null.", em );
| | }
| |
| | public static InitialContext getInitialContext() throws Exception
| | {
| | Hashtable props = getInitialContextProperties();
| | return new InitialContext(props);
| | }
| |
| | private static Hashtable getInitialContextProperties()
| | {
| | Hashtable<String, Object> props = new Hashtable<String, Object>();
| | props.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory" );
| | //"org.jnp.interfaces.LocalOnlyContextFactory"
| | props.put("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces");
| | props.put("java.naming.provider.url", "jnp://localhost:1099/");
| | return props;
| | }
| |
|
| And in JNDIView for Global Bindings:
|
| fudbFactory: org.jboss.ejb3.entity.InjectedEntityManagerFactory:Reference Class Name: org.jboss.ejb3.entity.InjectedEntityManagerFactory Type: nns Content: /fudbFactory
| |
| | fudb: org.jboss.ejb3.entity.TransactionScopedEntityManager:Reference Class Name: org.jboss.ejb3.entity.TransactionScopedEntityManager Type: nns Content: /fudb
| |
|
| I've tried lots of random things due to my lack of full docs, so maybe my approach totally wrong ... Why null in jndi? Is this a bug?
|
| -Jud
| [Have you found a solution for this null problem? I tried to get EntityManager or EntityManagerFactory using jndi and in both cases I get null. Thanks, David]
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3984368#3984368
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3984368
More information about the jboss-user
mailing list