Problem on jboss lookup entitymanager

Posted by Stefano on Stack Overflow See other posts from Stack Overflow or by Stefano
Published on 2010-03-05T15:33:40Z Indexed on 2010/03/08 9:51 UTC
Read the original article Hit count: 316

Filed under:
|
|
|
|

I have my ear-project deployed in jboss 5.1GA.

From webapp i don't have problem, the lookup of my ejb3 work fine!

es:

ShoppingCart sc= (ShoppingCart) 
(new InitialContext()).lookup("idelivery-ear-1.0/ShoppingCartBean/remote");

also the iniection of my EntityManager work fine!

@PersistenceContext
private EntityManager manager;

From test enviroment (I use Eclipse) the lookup of the same ejb3 work fine! but the lookup of entitymanager or PersistenceContext don't work!!!

my good test case:

 public void testClient() {

  Properties properties = new Properties();
  properties.put("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
  properties.put("java.naming.factory.url.pkgs","org.jboss.naming:org.jnp.interfaces");
  properties.put("java.naming.provider.url","localhost");  

  Context context;
  try{
   context = new InitialContext(properties);
   ShoppingCart cart = (ShoppingCart) context.lookup("idelivery-ear-1.0/ShoppingCartBean/remote"); // WORK FINE
  } catch (Exception e)  {
   e.printStackTrace();
  }
 }

my bad test :

   EntityManagerFactory emf = Persistence.createEntityManagerFactory("idelivery"); 
   EntityManager em = emf.createEntityManager(); //test1


   EntityManager em6 = (EntityManager) new InitialContext().lookup("java:comp/env/persistence/idelivery"); //test2


   PersistenceContext em3 = (PersistenceContext)(new InitialContext()).lookup("idelivery/remote"); //test3

my persistence.xml

<persistence-unit name="idelivery" transaction-type="JTA">
    <jta-data-source>java:ideliveryDS</jta-data-source>
    <properties>
        <property name="hibernate.hbm2ddl.auto" value="create-drop" /><!--validate | update | create | create-drop-->
        <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect" />
        <property name="hibernate.show_sql" value="true" />
        <property name="hibernate.format_sql" value="true" />
    </properties>
</persistence-unit>

my datasource:

    <datasources>
    <local-tx-datasource>
        <jndi-name>ideliveryDS</jndi-name>
                    ...
    </local-tx-datasource>
    </datasources>

I need EntityManager and PersistenceContext to test my query before build ejb...

Where is my mistake?

© Stack Overflow or respective owner

Related posts about ejb

Related posts about java