You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Claus Ibsen <cl...@gmail.com> on 2009/08/31 13:51:58 UTC
Re: JPA component in a JEE5 environment: EntityManagerFactory from
JNDI
Hi
That is the same s*** with the J2ee servers and the JNDI lookup. Its
painful when it does not work and you need to setup all kind
of indirections in various deployment descriptors both standard j2ee
related and server specific.
I will try googling and look at WebLogic documentation as its a pure
WebLogic + Spring J2ee lookup thingy.
On Mon, Aug 31, 2009 at 10:31 AM,
BAltmiks<be...@steria-mummert.de> wrote:
>
> - Camel 2.0M3
> - Camel-JPA 2.0M3
> - Weblogic 10
> - Hibernate-Core 3.3.0.SP1
> - Hibernate-EntityManager 3.4.0.GA
> - Configuration in Spring XML
>
>
> Hi,
>
> I tried to make use of the jpa component. But I have problems to get an
> EntityManagerFactory from JNDI on Weblogic 10. As described in the
> http://static.springsource.org/spring/docs/2.5.x/reference/orm.html#orm-jpa
> Spring JPA Documentation I do a JNDI-Lookup. persistence-unit-ref entries
> are defined in the Java EE deployment descriptor (ejb-jar.xml).
>
> The Exception is:
>
> javax.naming.NameNotFoundException: Unable to resolve 'TMD_PERSISTENCE'.
> Resolved ''; remaining name 'TMD_PERSISTENCE'
> at
> weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1138)
> at
> weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:251)
> at
> weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:171)
> at
> weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:205)
> at
> weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)
> at
> weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:367)
> at javax.naming.InitialContext.lookup(InitialContext.java:351)
> at
> org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java:155)
> at
> org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:88)
> at
> org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:153)
> at
> org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:178)
>
> Can anybody give me a hint what i am doing wrong?
>
> Thanks,
> Bernd Altmiks
>
> My Camel-Context:
> ...
> <jee:jndi-lookup id="eMFactory" jndi-name="TMD_PERSISTENCE"/>
>
> <bean id="jpa" class="org.apache.camel.component.jpa.JpaComponent">
> <property name="entityManagerFactory" ref="eMFactory" />
> <property name="transactionManager" ref="txManager" />
> </bean>
>
> <bean id="txManager"
> class="org.springframework.transaction.jta.WebLogicJtaTransactionManager"/>
> ...
>
>
> My ejb-jar.xml
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
> http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
> version="3.0">
> <enterprise-beans>
>
> <session>
> <ejb-name>ITMDClientDAO</ejb-name>
> <ejb-class>tmd.al.dao.TMDClientDAO</ejb-class>
> <session-type>Stateless</session-type>
> <persistence-unit-ref>
> <persistence-unit-ref-name>TMD_PERSISTENCE</persistence-unit-ref-name>
> <persistence-unit-name>TMD_PERSISTENCE</persistence-unit-name>
> <mapped-name>TMD_PERSISTENCE</mapped-name>
> </persistence-unit-ref>
> </session>
> </enterprise-beans>
> </ejb-jar>
>
>
> My persistence.xml
>
> <?xml version="1.0" encoding="UTF-8"?>
> <persistence xmlns="http://java.sun.com/xml/ns/persistence"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0"
> xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
> http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
> <persistence-unit name="TMD_PERSISTENCE" transaction-type="JTA">
> <provider>org.hibernate.ejb.HibernatePersistence</provider>
>
> <jta-data-source>com.mummert.tributum.tbpersistence.TributumDataSource</jta-data-source>
> <class>tmd.al.entity.TMDMessage</class>
> <properties>
> <property name="hibernate.dialect"
> value="org.hibernate.dialect.Oracle10gDialect"/>
> <property name="hibernate.transaction.manager_lookup_class"
> value="org.hibernate.transaction.WeblogicTransactionManagerLookup" />
> <property name="hibernate.show_sql" value="false" />
> <property name="hibernate.format_sql" value="false" />
> <property name="hibernate.use_sql_comments" value="false"/>
> <property name="hibernate.generate_statistics" value="false" />
> <property name="hibernate.jndi.weblogic.jndi.replicateBindings"
> value="false" />
> <property name="hibernate.query.factory_class"
> value="org.hibernate.hql.classic.ClassicQueryTranslatorFactory"/>
> <property name="hibernate.cache.use_second_level_cache"
> value="false"/>
> </properties>
> </persistence-unit>
> </persistence>
>
>
> --
> View this message in context: http://www.nabble.com/JPA-component-in-a-JEE5-environment%3A-EntityManagerFactory-from-JNDI-tp25219979p25219979.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>
--
Claus Ibsen
Apache Camel Committer
Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus
Re: JPA component in a JEE5 environment: EntityManagerFactory from
JNDI
Posted by Claus Ibsen <cl...@gmail.com>.
Hi
There is an setter on JpaComponent
public void setEntityManagerFactory(EntityManagerFactory
entityManagerFactory) {
So see the section - configuring entity manager factory at
http://camel.apache.org/jpa
And have that EntityManagerFactory looked up in JNDI.
Spring have some jndi lookup thingy you can use to lookup name it with
an id you can refer to from that camel jpa component.
On Mon, Oct 26, 2009 at 1:00 PM, B_A <be...@steria-mummert.de> wrote:
>
>
> Claus Ibsen-2 wrote:
>>
>> On Mon, Oct 26, 2009 at 10:13 AM, BAltmiks
>> <be...@steria-mummert.de> wrote:
>>>
>>>
>>>
>>> BAltmiks wrote:
>>>>
>>>> Hi Claus,
>>>>
>>>> this is what the Oracle-Support says. I will try these.
>>>>
>>>>
>>>> Hello Bernd,
>>>>
>>>> I tried calling you regarding the issue, however couldn't reach.
>>>>
>>>> As per the issue I understand that you are using trying to lookup the
>>>> Entity Manager instance and you are trying to use Entity Manager
>>>> Factory, but you do not wish to use injection of .@PersistenceContext.
>>>>
>>>> Please let me know if you are using any JPA provider (e.g. kodo,
>>>> hibernate etc).
>>>>
>>>> In JEE the EntityManager or EntityManagerFactory can either be looked
>>>> up in JNDI, or injected into a SessionBean. To look up the
>>>> EntityManager in JNDI it must be published in JNDI such as through a
>>>> <persistence-context-ref> in a SessionBean's ejb-jar.xml file. To
>>>> inject an EntityManager or EntityManagerFactory the
>>>> annotation .@PersistenceContext or .@PersistenceUnit are used.
>>>>
>>>> For your reference I am adding both the options (annotation / non-
>>>> annota)
>>>>
>>>> Example SessionBean ejb-jar.xml file with persistence context
>>>>
>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>> <ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"
>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>>> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
>>>> http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
>>>> version="3.0">
>>>> <enterprise-beans>
>>>> <session>
>>>> <ejb-name>EmployeeService</ejb-name>
>>>> <business-remote>org.acme.EmployeeService</business-remote>
>>>> <ejb-class>org.acme.EmployeeServiceBean</ejb-class>
>>>> <session-type>Stateless</session-type>
>>>> <persistence-context-ref>
>>>> <persistence-context-ref-name>persistence/acme/entity-manager</
>>>> persistence-context-ref-name>
>>>> <persistence-unit-name>acme</persistence-unit-name>
>>>> </persistence-context-ref>
>>>> <persistence-unit-ref>
>>>> <persistence-unit-ref-name>persistence/acme/factory</persistence-unit-
>>>> ref-name>
>>>> <persistence-unit-name>acme</persistence-unit-name>
>>>> </persistence-unit-ref>
>>>> </session>
>>>> </enterprise-beans>
>>>> </ejb-jar>
>>>>
>>>> Example of looking up an EntityManager in JNDI
>>>> ===============================================
>>>>
>>>> InitialContext context = new InitialContext();
>>>> EntityManager entityManager = (EntityManager)context.lookup("java:comp/
>>>> env/persistence/acme/entity-manager");
>>>> ...
>>>>
>>>> Example of looking up an EntityManagerFactory in JNDI
>>>> =====================================================
>>>>
>>>> InitialContext context = new InitialContext();
>>>> EntityManagerFactory factory = (EntityManagerFactory)context.lookup
>>>> ("java:comp/env/persistence/acme/factory");
>>>> ...
>>>>
>>>> Example of injecting an EntityManager and EntityManagerFactory
>>>> ===============================================================
>>>>
>>>> .@Stateless(name="EmployeeService", mappedName="acme/EmployeeService")
>>>> .@Remote(EmployeeService.class)
>>>> public class EmployeeServiceBean implements EmployeeService {
>>>>
>>>> .@PersistenceContext(unitName="acme")
>>>> private EntityManager entityManager;
>>>>
>>>> .@PersistenceUnit(unitName="acme")
>>>> private EntityManagerFactory factory;
>>>> ...
>>>> }
>>>>
>>>> Please feel free to get back to me in case of any doubt or query
>>>> regarding the same.
>>>>
>>>>
>>>> Regards,
>>>> Saumajit Das
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>>
>>>> Claus Ibsen-2 wrote:
>>>>>
>>>>>>Hi
>>>>>>
>>>>>>That is the same s*** with the J2ee servers and the JNDI lookup. Its
>>>>>>painful when it does not work and you need to setup all kind
>>>>>>of indirections in various deployment descriptors both standard j2ee
>>>>>>related and server specific.
>>>>>>
>>>>>>I will try googling and look at WebLogic documentation as its a pure
>>>>>>WebLogic + Spring J2ee lookup thingy.
>>>>>
>>>>>
>>>>>
>>>>> On Mon, Aug 31, 2009 at 10:31 AM,
>>>>> BAltmiks<be...@steria-mummert.de> wrote:
>>>>>>
>>>>>> - Camel 2.0M3
>>>>>> - Camel-JPA 2.0M3
>>>>>> - Weblogic 10
>>>>>> - Hibernate-Core 3.3.0.SP1
>>>>>> - Hibernate-EntityManager 3.4.0.GA
>>>>>> - Configuration in Spring XML
>>>>>>
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I tried to make use of the jpa component. But I have problems to get
>>>>>> an
>>>>>> EntityManagerFactory from JNDI on Weblogic 10. As described in the
>>>>>> http://static.springsource.org/spring/docs/2.5.x/reference/orm.html#orm-jpa
>>>>>> Spring JPA Documentation I do a JNDI-Lookup. persistence-unit-ref
>>>>>> entries
>>>>>> are defined in the Java EE deployment descriptor (ejb-jar.xml).
>>>>>>
>>>>>> The Exception is:
>>>>>>
>>>>>> javax.naming.NameNotFoundException: Unable to resolve
>>>>>> 'TMD_PERSISTENCE'.
>>>>>> Resolved ''; remaining name 'TMD_PERSISTENCE'
>>>>>> at
>>>>>> weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1138)
>>>>>> at
>>>>>> weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:251)
>>>>>> at
>>>>>> weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:171)
>>>>>> at
>>>>>> weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:205)
>>>>>> at
>>>>>> weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)
>>>>>> at
>>>>>> weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:367)
>>>>>> at javax.naming.InitialContext.lookup(InitialContext.java:351)
>>>>>> at
>>>>>> org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java:155)
>>>>>> at
>>>>>> org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:88)
>>>>>> at
>>>>>> org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:153)
>>>>>> at
>>>>>> org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:178)
>>>>>>
>>>>>> Can anybody give me a hint what i am doing wrong?
>>>>>>
>>>>>> Thanks,
>>>>>> Bernd Altmiks
>>>>>>
>>>>>> My Camel-Context:
>>>>>> ...
>>>>>> <jee:jndi-lookup id="eMFactory" jndi-name="TMD_PERSISTENCE"/>
>>>>>>
>>>>>> <bean id="jpa" class="org.apache.camel.component.jpa.JpaComponent">
>>>>>> <property name="entityManagerFactory" ref="eMFactory" />
>>>>>> <property name="transactionManager" ref="txManager" />
>>>>>> </bean>
>>>>>>
>>>>>> <bean id="txManager"
>>>>>> class="org.springframework.transaction.jta.WebLogicJtaTransactionManager"/>
>>>>>> ...
>>>>>>
>>>>>>
>>>>>> My ejb-jar.xml
>>>>>>
>>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>>>
>>>>>> <ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"
>>>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>>>>> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
>>>>>> http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
>>>>>> version="3.0">
>>>>>> <enterprise-beans>
>>>>>>
>>>>>> <session>
>>>>>> <ejb-name>ITMDClientDAO</ejb-name>
>>>>>> <ejb-class>tmd.al.dao.TMDClientDAO</ejb-class>
>>>>>> <session-type>Stateless</session-type>
>>>>>> <persistence-unit-ref>
>>>>>>
>>>>>> <persistence-unit-ref-name>TMD_PERSISTENCE</persistence-unit-ref-name>
>>>>>>
>>>>>> <persistence-unit-name>TMD_PERSISTENCE</persistence-unit-name>
>>>>>>
>>>>>> <mapped-name>TMD_PERSISTENCE</mapped-name>
>>>>>> </persistence-unit-ref>
>>>>>> </session>
>>>>>> </enterprise-beans>
>>>>>> </ejb-jar>
>>>>>>
>>>>>>
>>>>>> My persistence.xml
>>>>>>
>>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>>> <persistence xmlns="http://java.sun.com/xml/ns/persistence"
>>>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>>>>> version="1.0"
>>>>>> xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
>>>>>> http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
>>>>>> <persistence-unit name="TMD_PERSISTENCE" transaction-type="JTA">
>>>>>> <provider>org.hibernate.ejb.HibernatePersistence</provider>
>>>>>>
>>>>>> <jta-data-source>com.mummert.tributum.tbpersistence.TributumDataSource</jta-data-source>
>>>>>> <class>tmd.al.entity.TMDMessage</class>
>>>>>> <properties>
>>>>>> <property name="hibernate.dialect"
>>>>>> value="org.hibernate.dialect.Oracle10gDialect"/>
>>>>>> <property name="hibernate.transaction.manager_lookup_class"
>>>>>> value="org.hibernate.transaction.WeblogicTransactionManagerLookup" />
>>>>>> <property name="hibernate.show_sql" value="false" />
>>>>>> <property name="hibernate.format_sql" value="false" />
>>>>>> <property name="hibernate.use_sql_comments" value="false"/>
>>>>>> <property name="hibernate.generate_statistics" value="false" />
>>>>>> <property
>>>>>> name="hibernate.jndi.weblogic.jndi.replicateBindings"
>>>>>> value="false" />
>>>>>> <property name="hibernate.query.factory_class"
>>>>>> value="org.hibernate.hql.classic.ClassicQueryTranslatorFactory"/>
>>>>>> <property name="hibernate.cache.use_second_level_cache"
>>>>>> value="false"/>
>>>>>> </properties>
>>>>>> </persistence-unit>
>>>>>> </persistence>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> View this message in context:
>>>>>> http://www.nabble.com/JPA-component-in-a-JEE5-environment%3A-EntityManagerFactory-from-JNDI-tp25219979p25219979.html
>>>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Claus Ibsen
>>>>> Apache Camel Committer
>>>>>
>>>>> Open Source Integration: http://fusesource.com
>>>>> Blog: http://davsclaus.blogspot.com/
>>>>> Twitter: http://twitter.com/davsclaus
>>>>>
>>>>>
>>>>
>>>>
>>>
>>> Doesn't work on Weblogic. There is no way to get the EntityManager from
>>> JNDI. Here is the answer from the Oracle-Support:
>>>
>>> "According the EJB3 specification, you need to lookup the entity from the
>>> same container (from any servlet or session bean running on that
>>> container)."
>>>
>>
>> And how do Oracle Support envision you should lookup an Entity?
>> Using JNDI? And if so how do you do that? How do you configure / setup
>> this?
>> And how do you get the Entity registered in the first place?
>>
>>
>>
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/JPA-component-in-a-JEE5-environment%3A-EntityManagerFactory-from-JNDI-tp25219979p26056419.html
>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>
>>>
>>
>>
>>
>> --
>> Claus Ibsen
>> Apache Camel Committer
>>
>> Author of Camel in Action: http://www.manning.com/ibsen/
>> Open Source Integration: http://fusesource.com
>> Blog: http://davsclaus.blogspot.com/
>> Twitter: http://twitter.com/davsclaus
>>
>>
>
>>And how do Oracle Support envision you should lookup an Entity?
>>Using JNDI? And if so how do you do that? How do you configure / setup
> this?
>>And how do you get the Entity registered in the first place?
>
> Sorry Claus my mistake when I wrote this Message. I mean
> EntityManagerFactory and not Entity. I
> http://www.nabble.com/file/p26058442/entitymanagerfactorylookup.zip
> entitymanagerfactorylookup.zip
> http://www.nabble.com/file/p26058442/entitymanagerfactorylookup.zip
> entitymanagerfactorylookup.zip
> have corrected my Message.
>
> I have sent the Oracle-Support an example Testcase (find it attached) so
> that they can see what i
>
> want to do. I my case lookup the EntityManagerFactory from an "client". An
> POJO like
>
> Camel/Spring. The answer I got was that it is not possible on Weblogic 10.0
> if you are not
>
> "inside" an Session Bean or Servlet.
>
> At the Moment, as a workaround, I use an Stateless Session Bean where the
> EntityManager (not the
>
> EntityManagerFactory) gets injected to persist my Entity with Camel.
>
> I would be thankfully if you have any further suggestions.
>
> Regards,
> Bernd
>
> --
> View this message in context: http://www.nabble.com/JPA-component-in-a-JEE5-environment%3A-EntityManagerFactory-from-JNDI-tp25219979p26058442.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>
--
Claus Ibsen
Apache Camel Committer
Author of Camel in Action: http://www.manning.com/ibsen/
Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus
Re: JPA component in a JEE5 environment: EntityManagerFactory from
JNDI
Posted by B_A <be...@steria-mummert.de>.
Claus Ibsen-2 wrote:
>
> On Mon, Oct 26, 2009 at 10:13 AM, BAltmiks
> <be...@steria-mummert.de> wrote:
>>
>>
>>
>> BAltmiks wrote:
>>>
>>> Hi Claus,
>>>
>>> this is what the Oracle-Support says. I will try these.
>>>
>>>
>>> Hello Bernd,
>>>
>>> I tried calling you regarding the issue, however couldn't reach.
>>>
>>> As per the issue I understand that you are using trying to lookup the
>>> Entity Manager instance and you are trying to use Entity Manager
>>> Factory, but you do not wish to use injection of .@PersistenceContext.
>>>
>>> Please let me know if you are using any JPA provider (e.g. kodo,
>>> hibernate etc).
>>>
>>> In JEE the EntityManager or EntityManagerFactory can either be looked
>>> up in JNDI, or injected into a SessionBean. To look up the
>>> EntityManager in JNDI it must be published in JNDI such as through a
>>> <persistence-context-ref> in a SessionBean's ejb-jar.xml file. To
>>> inject an EntityManager or EntityManagerFactory the
>>> annotation .@PersistenceContext or .@PersistenceUnit are used.
>>>
>>> For your reference I am adding both the options (annotation / non-
>>> annota)
>>>
>>> Example SessionBean ejb-jar.xml file with persistence context
>>>
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"
>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
>>> http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
>>> version="3.0">
>>> <enterprise-beans>
>>> <session>
>>> <ejb-name>EmployeeService</ejb-name>
>>> <business-remote>org.acme.EmployeeService</business-remote>
>>> <ejb-class>org.acme.EmployeeServiceBean</ejb-class>
>>> <session-type>Stateless</session-type>
>>> <persistence-context-ref>
>>> <persistence-context-ref-name>persistence/acme/entity-manager</
>>> persistence-context-ref-name>
>>> <persistence-unit-name>acme</persistence-unit-name>
>>> </persistence-context-ref>
>>> <persistence-unit-ref>
>>> <persistence-unit-ref-name>persistence/acme/factory</persistence-unit-
>>> ref-name>
>>> <persistence-unit-name>acme</persistence-unit-name>
>>> </persistence-unit-ref>
>>> </session>
>>> </enterprise-beans>
>>> </ejb-jar>
>>>
>>> Example of looking up an EntityManager in JNDI
>>> ===============================================
>>>
>>> InitialContext context = new InitialContext();
>>> EntityManager entityManager = (EntityManager)context.lookup("java:comp/
>>> env/persistence/acme/entity-manager");
>>> ...
>>>
>>> Example of looking up an EntityManagerFactory in JNDI
>>> =====================================================
>>>
>>> InitialContext context = new InitialContext();
>>> EntityManagerFactory factory = (EntityManagerFactory)context.lookup
>>> ("java:comp/env/persistence/acme/factory");
>>> ...
>>>
>>> Example of injecting an EntityManager and EntityManagerFactory
>>> ===============================================================
>>>
>>> .@Stateless(name="EmployeeService", mappedName="acme/EmployeeService")
>>> .@Remote(EmployeeService.class)
>>> public class EmployeeServiceBean implements EmployeeService {
>>>
>>> .@PersistenceContext(unitName="acme")
>>> private EntityManager entityManager;
>>>
>>> .@PersistenceUnit(unitName="acme")
>>> private EntityManagerFactory factory;
>>> ...
>>> }
>>>
>>> Please feel free to get back to me in case of any doubt or query
>>> regarding the same.
>>>
>>>
>>> Regards,
>>> Saumajit Das
>>>
>>>
>>>
>>>
>>>
>>>>
>>> Claus Ibsen-2 wrote:
>>>>
>>>>>Hi
>>>>>
>>>>>That is the same s*** with the J2ee servers and the JNDI lookup. Its
>>>>>painful when it does not work and you need to setup all kind
>>>>>of indirections in various deployment descriptors both standard j2ee
>>>>>related and server specific.
>>>>>
>>>>>I will try googling and look at WebLogic documentation as its a pure
>>>>>WebLogic + Spring J2ee lookup thingy.
>>>>
>>>>
>>>>
>>>> On Mon, Aug 31, 2009 at 10:31 AM,
>>>> BAltmiks<be...@steria-mummert.de> wrote:
>>>>>
>>>>> - Camel 2.0M3
>>>>> - Camel-JPA 2.0M3
>>>>> - Weblogic 10
>>>>> - Hibernate-Core 3.3.0.SP1
>>>>> - Hibernate-EntityManager 3.4.0.GA
>>>>> - Configuration in Spring XML
>>>>>
>>>>>
>>>>> Hi,
>>>>>
>>>>> I tried to make use of the jpa component. But I have problems to get
>>>>> an
>>>>> EntityManagerFactory from JNDI on Weblogic 10. As described in the
>>>>> http://static.springsource.org/spring/docs/2.5.x/reference/orm.html#orm-jpa
>>>>> Spring JPA Documentation I do a JNDI-Lookup. persistence-unit-ref
>>>>> entries
>>>>> are defined in the Java EE deployment descriptor (ejb-jar.xml).
>>>>>
>>>>> The Exception is:
>>>>>
>>>>> javax.naming.NameNotFoundException: Unable to resolve
>>>>> 'TMD_PERSISTENCE'.
>>>>> Resolved ''; remaining name 'TMD_PERSISTENCE'
>>>>> at
>>>>> weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1138)
>>>>> at
>>>>> weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:251)
>>>>> at
>>>>> weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:171)
>>>>> at
>>>>> weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:205)
>>>>> at
>>>>> weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)
>>>>> at
>>>>> weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:367)
>>>>> at javax.naming.InitialContext.lookup(InitialContext.java:351)
>>>>> at
>>>>> org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java:155)
>>>>> at
>>>>> org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:88)
>>>>> at
>>>>> org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:153)
>>>>> at
>>>>> org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:178)
>>>>>
>>>>> Can anybody give me a hint what i am doing wrong?
>>>>>
>>>>> Thanks,
>>>>> Bernd Altmiks
>>>>>
>>>>> My Camel-Context:
>>>>> ...
>>>>> <jee:jndi-lookup id="eMFactory" jndi-name="TMD_PERSISTENCE"/>
>>>>>
>>>>> <bean id="jpa" class="org.apache.camel.component.jpa.JpaComponent">
>>>>> <property name="entityManagerFactory" ref="eMFactory" />
>>>>> <property name="transactionManager" ref="txManager" />
>>>>> </bean>
>>>>>
>>>>> <bean id="txManager"
>>>>> class="org.springframework.transaction.jta.WebLogicJtaTransactionManager"/>
>>>>> ...
>>>>>
>>>>>
>>>>> My ejb-jar.xml
>>>>>
>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>>
>>>>> <ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"
>>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>>>> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
>>>>> http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
>>>>> version="3.0">
>>>>> <enterprise-beans>
>>>>>
>>>>> <session>
>>>>> <ejb-name>ITMDClientDAO</ejb-name>
>>>>> <ejb-class>tmd.al.dao.TMDClientDAO</ejb-class>
>>>>> <session-type>Stateless</session-type>
>>>>> <persistence-unit-ref>
>>>>>
>>>>> <persistence-unit-ref-name>TMD_PERSISTENCE</persistence-unit-ref-name>
>>>>>
>>>>> <persistence-unit-name>TMD_PERSISTENCE</persistence-unit-name>
>>>>>
>>>>> <mapped-name>TMD_PERSISTENCE</mapped-name>
>>>>> </persistence-unit-ref>
>>>>> </session>
>>>>> </enterprise-beans>
>>>>> </ejb-jar>
>>>>>
>>>>>
>>>>> My persistence.xml
>>>>>
>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>> <persistence xmlns="http://java.sun.com/xml/ns/persistence"
>>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>>>> version="1.0"
>>>>> xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
>>>>> http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
>>>>> <persistence-unit name="TMD_PERSISTENCE" transaction-type="JTA">
>>>>> <provider>org.hibernate.ejb.HibernatePersistence</provider>
>>>>>
>>>>> <jta-data-source>com.mummert.tributum.tbpersistence.TributumDataSource</jta-data-source>
>>>>> <class>tmd.al.entity.TMDMessage</class>
>>>>> <properties>
>>>>> <property name="hibernate.dialect"
>>>>> value="org.hibernate.dialect.Oracle10gDialect"/>
>>>>> <property name="hibernate.transaction.manager_lookup_class"
>>>>> value="org.hibernate.transaction.WeblogicTransactionManagerLookup" />
>>>>> <property name="hibernate.show_sql" value="false" />
>>>>> <property name="hibernate.format_sql" value="false" />
>>>>> <property name="hibernate.use_sql_comments" value="false"/>
>>>>> <property name="hibernate.generate_statistics" value="false" />
>>>>> <property
>>>>> name="hibernate.jndi.weblogic.jndi.replicateBindings"
>>>>> value="false" />
>>>>> <property name="hibernate.query.factory_class"
>>>>> value="org.hibernate.hql.classic.ClassicQueryTranslatorFactory"/>
>>>>> <property name="hibernate.cache.use_second_level_cache"
>>>>> value="false"/>
>>>>> </properties>
>>>>> </persistence-unit>
>>>>> </persistence>
>>>>>
>>>>>
>>>>> --
>>>>> View this message in context:
>>>>> http://www.nabble.com/JPA-component-in-a-JEE5-environment%3A-EntityManagerFactory-from-JNDI-tp25219979p25219979.html
>>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Claus Ibsen
>>>> Apache Camel Committer
>>>>
>>>> Open Source Integration: http://fusesource.com
>>>> Blog: http://davsclaus.blogspot.com/
>>>> Twitter: http://twitter.com/davsclaus
>>>>
>>>>
>>>
>>>
>>
>> Doesn't work on Weblogic. There is no way to get the EntityManager from
>> JNDI. Here is the answer from the Oracle-Support:
>>
>> "According the EJB3 specification, you need to lookup the entity from the
>> same container (from any servlet or session bean running on that
>> container)."
>>
>
> And how do Oracle Support envision you should lookup an Entity?
> Using JNDI? And if so how do you do that? How do you configure / setup
> this?
> And how do you get the Entity registered in the first place?
>
>
>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/JPA-component-in-a-JEE5-environment%3A-EntityManagerFactory-from-JNDI-tp25219979p26056419.html
>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>
>>
>
>
>
> --
> Claus Ibsen
> Apache Camel Committer
>
> Author of Camel in Action: http://www.manning.com/ibsen/
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
>
>
>And how do Oracle Support envision you should lookup an Entity?
>Using JNDI? And if so how do you do that? How do you configure / setup
this?
>And how do you get the Entity registered in the first place?
Sorry Claus my mistake when I wrote this Message. I mean
EntityManagerFactory and not Entity. I
http://www.nabble.com/file/p26058442/entitymanagerfactorylookup.zip
entitymanagerfactorylookup.zip
http://www.nabble.com/file/p26058442/entitymanagerfactorylookup.zip
entitymanagerfactorylookup.zip
have corrected my Message.
I have sent the Oracle-Support an example Testcase (find it attached) so
that they can see what i
want to do. I my case lookup the EntityManagerFactory from an "client". An
POJO like
Camel/Spring. The answer I got was that it is not possible on Weblogic 10.0
if you are not
"inside" an Session Bean or Servlet.
At the Moment, as a workaround, I use an Stateless Session Bean where the
EntityManager (not the
EntityManagerFactory) gets injected to persist my Entity with Camel.
I would be thankfully if you have any further suggestions.
Regards,
Bernd
--
View this message in context: http://www.nabble.com/JPA-component-in-a-JEE5-environment%3A-EntityManagerFactory-from-JNDI-tp25219979p26058442.html
Sent from the Camel - Users mailing list archive at Nabble.com.
Re: JPA component in a JEE5 environment: EntityManagerFactory from
JNDI
Posted by Claus Ibsen <cl...@gmail.com>.
On Mon, Oct 26, 2009 at 10:13 AM, BAltmiks
<be...@steria-mummert.de> wrote:
>
>
>
> BAltmiks wrote:
>>
>> Hi Claus,
>>
>> this is what the Oracle-Support says. I will try these.
>>
>>
>> Hello Bernd,
>>
>> I tried calling you regarding the issue, however couldn't reach.
>>
>> As per the issue I understand that you are using trying to lookup the
>> Entity Manager instance and you are trying to use Entity Manager
>> Factory, but you do not wish to use injection of .@PersistenceContext.
>>
>> Please let me know if you are using any JPA provider (e.g. kodo,
>> hibernate etc).
>>
>> In JEE the EntityManager or EntityManagerFactory can either be looked
>> up in JNDI, or injected into a SessionBean. To look up the
>> EntityManager in JNDI it must be published in JNDI such as through a
>> <persistence-context-ref> in a SessionBean's ejb-jar.xml file. To
>> inject an EntityManager or EntityManagerFactory the
>> annotation .@PersistenceContext or .@PersistenceUnit are used.
>>
>> For your reference I am adding both the options (annotation / non-
>> annota)
>>
>> Example SessionBean ejb-jar.xml file with persistence context
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
>> http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
>> version="3.0">
>> <enterprise-beans>
>> <session>
>> <ejb-name>EmployeeService</ejb-name>
>> <business-remote>org.acme.EmployeeService</business-remote>
>> <ejb-class>org.acme.EmployeeServiceBean</ejb-class>
>> <session-type>Stateless</session-type>
>> <persistence-context-ref>
>> <persistence-context-ref-name>persistence/acme/entity-manager</
>> persistence-context-ref-name>
>> <persistence-unit-name>acme</persistence-unit-name>
>> </persistence-context-ref>
>> <persistence-unit-ref>
>> <persistence-unit-ref-name>persistence/acme/factory</persistence-unit-
>> ref-name>
>> <persistence-unit-name>acme</persistence-unit-name>
>> </persistence-unit-ref>
>> </session>
>> </enterprise-beans>
>> </ejb-jar>
>>
>> Example of looking up an EntityManager in JNDI
>> ===============================================
>>
>> InitialContext context = new InitialContext();
>> EntityManager entityManager = (EntityManager)context.lookup("java:comp/
>> env/persistence/acme/entity-manager");
>> ...
>>
>> Example of looking up an EntityManagerFactory in JNDI
>> =====================================================
>>
>> InitialContext context = new InitialContext();
>> EntityManagerFactory factory = (EntityManagerFactory)context.lookup
>> ("java:comp/env/persistence/acme/factory");
>> ...
>>
>> Example of injecting an EntityManager and EntityManagerFactory
>> ===============================================================
>>
>> .@Stateless(name="EmployeeService", mappedName="acme/EmployeeService")
>> .@Remote(EmployeeService.class)
>> public class EmployeeServiceBean implements EmployeeService {
>>
>> .@PersistenceContext(unitName="acme")
>> private EntityManager entityManager;
>>
>> .@PersistenceUnit(unitName="acme")
>> private EntityManagerFactory factory;
>> ...
>> }
>>
>> Please feel free to get back to me in case of any doubt or query
>> regarding the same.
>>
>>
>> Regards,
>> Saumajit Das
>>
>>
>>
>>
>>
>>>
>> Claus Ibsen-2 wrote:
>>>
>>>>Hi
>>>>
>>>>That is the same s*** with the J2ee servers and the JNDI lookup. Its
>>>>painful when it does not work and you need to setup all kind
>>>>of indirections in various deployment descriptors both standard j2ee
>>>>related and server specific.
>>>>
>>>>I will try googling and look at WebLogic documentation as its a pure
>>>>WebLogic + Spring J2ee lookup thingy.
>>>
>>>
>>>
>>> On Mon, Aug 31, 2009 at 10:31 AM,
>>> BAltmiks<be...@steria-mummert.de> wrote:
>>>>
>>>> - Camel 2.0M3
>>>> - Camel-JPA 2.0M3
>>>> - Weblogic 10
>>>> - Hibernate-Core 3.3.0.SP1
>>>> - Hibernate-EntityManager 3.4.0.GA
>>>> - Configuration in Spring XML
>>>>
>>>>
>>>> Hi,
>>>>
>>>> I tried to make use of the jpa component. But I have problems to get an
>>>> EntityManagerFactory from JNDI on Weblogic 10. As described in the
>>>> http://static.springsource.org/spring/docs/2.5.x/reference/orm.html#orm-jpa
>>>> Spring JPA Documentation I do a JNDI-Lookup. persistence-unit-ref
>>>> entries
>>>> are defined in the Java EE deployment descriptor (ejb-jar.xml).
>>>>
>>>> The Exception is:
>>>>
>>>> javax.naming.NameNotFoundException: Unable to resolve 'TMD_PERSISTENCE'.
>>>> Resolved ''; remaining name 'TMD_PERSISTENCE'
>>>> at
>>>> weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1138)
>>>> at
>>>> weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:251)
>>>> at
>>>> weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:171)
>>>> at
>>>> weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:205)
>>>> at
>>>> weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)
>>>> at
>>>> weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:367)
>>>> at javax.naming.InitialContext.lookup(InitialContext.java:351)
>>>> at
>>>> org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java:155)
>>>> at
>>>> org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:88)
>>>> at
>>>> org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:153)
>>>> at
>>>> org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:178)
>>>>
>>>> Can anybody give me a hint what i am doing wrong?
>>>>
>>>> Thanks,
>>>> Bernd Altmiks
>>>>
>>>> My Camel-Context:
>>>> ...
>>>> <jee:jndi-lookup id="eMFactory" jndi-name="TMD_PERSISTENCE"/>
>>>>
>>>> <bean id="jpa" class="org.apache.camel.component.jpa.JpaComponent">
>>>> <property name="entityManagerFactory" ref="eMFactory" />
>>>> <property name="transactionManager" ref="txManager" />
>>>> </bean>
>>>>
>>>> <bean id="txManager"
>>>> class="org.springframework.transaction.jta.WebLogicJtaTransactionManager"/>
>>>> ...
>>>>
>>>>
>>>> My ejb-jar.xml
>>>>
>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>
>>>> <ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"
>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>>> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
>>>> http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
>>>> version="3.0">
>>>> <enterprise-beans>
>>>>
>>>> <session>
>>>> <ejb-name>ITMDClientDAO</ejb-name>
>>>> <ejb-class>tmd.al.dao.TMDClientDAO</ejb-class>
>>>> <session-type>Stateless</session-type>
>>>> <persistence-unit-ref>
>>>>
>>>> <persistence-unit-ref-name>TMD_PERSISTENCE</persistence-unit-ref-name>
>>>>
>>>> <persistence-unit-name>TMD_PERSISTENCE</persistence-unit-name>
>>>>
>>>> <mapped-name>TMD_PERSISTENCE</mapped-name>
>>>> </persistence-unit-ref>
>>>> </session>
>>>> </enterprise-beans>
>>>> </ejb-jar>
>>>>
>>>>
>>>> My persistence.xml
>>>>
>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>> <persistence xmlns="http://java.sun.com/xml/ns/persistence"
>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>>> version="1.0"
>>>> xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
>>>> http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
>>>> <persistence-unit name="TMD_PERSISTENCE" transaction-type="JTA">
>>>> <provider>org.hibernate.ejb.HibernatePersistence</provider>
>>>>
>>>> <jta-data-source>com.mummert.tributum.tbpersistence.TributumDataSource</jta-data-source>
>>>> <class>tmd.al.entity.TMDMessage</class>
>>>> <properties>
>>>> <property name="hibernate.dialect"
>>>> value="org.hibernate.dialect.Oracle10gDialect"/>
>>>> <property name="hibernate.transaction.manager_lookup_class"
>>>> value="org.hibernate.transaction.WeblogicTransactionManagerLookup" />
>>>> <property name="hibernate.show_sql" value="false" />
>>>> <property name="hibernate.format_sql" value="false" />
>>>> <property name="hibernate.use_sql_comments" value="false"/>
>>>> <property name="hibernate.generate_statistics" value="false" />
>>>> <property
>>>> name="hibernate.jndi.weblogic.jndi.replicateBindings"
>>>> value="false" />
>>>> <property name="hibernate.query.factory_class"
>>>> value="org.hibernate.hql.classic.ClassicQueryTranslatorFactory"/>
>>>> <property name="hibernate.cache.use_second_level_cache"
>>>> value="false"/>
>>>> </properties>
>>>> </persistence-unit>
>>>> </persistence>
>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/JPA-component-in-a-JEE5-environment%3A-EntityManagerFactory-from-JNDI-tp25219979p25219979.html
>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Claus Ibsen
>>> Apache Camel Committer
>>>
>>> Open Source Integration: http://fusesource.com
>>> Blog: http://davsclaus.blogspot.com/
>>> Twitter: http://twitter.com/davsclaus
>>>
>>>
>>
>>
>
> Doesn't work on Weblogic. There is no way to get the EntityManager from
> JNDI. Here is the answer from the Oracle-Support:
>
> "According the EJB3 specification, you need to lookup the entity from the
> same container (from any servlet or session bean running on that
> container)."
>
And how do Oracle Support envision you should lookup an Entity?
Using JNDI? And if so how do you do that? How do you configure / setup this?
And how do you get the Entity registered in the first place?
>
> --
> View this message in context: http://www.nabble.com/JPA-component-in-a-JEE5-environment%3A-EntityManagerFactory-from-JNDI-tp25219979p26056419.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>
--
Claus Ibsen
Apache Camel Committer
Author of Camel in Action: http://www.manning.com/ibsen/
Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus
Re: JPA component in a JEE5 environment: EntityManagerFactory from
JNDI
Posted by BAltmiks <be...@steria-mummert.de>.
BAltmiks wrote:
>
> Hi Claus,
>
> this is what the Oracle-Support says. I will try these.
>
>
> Hello Bernd,
>
> I tried calling you regarding the issue, however couldn't reach.
>
> As per the issue I understand that you are using trying to lookup the
> Entity Manager instance and you are trying to use Entity Manager
> Factory, but you do not wish to use injection of .@PersistenceContext.
>
> Please let me know if you are using any JPA provider (e.g. kodo,
> hibernate etc).
>
> In JEE the EntityManager or EntityManagerFactory can either be looked
> up in JNDI, or injected into a SessionBean. To look up the
> EntityManager in JNDI it must be published in JNDI such as through a
> <persistence-context-ref> in a SessionBean's ejb-jar.xml file. To
> inject an EntityManager or EntityManagerFactory the
> annotation .@PersistenceContext or .@PersistenceUnit are used.
>
> For your reference I am adding both the options (annotation / non-
> annota)
>
> Example SessionBean ejb-jar.xml file with persistence context
>
> <?xml version="1.0" encoding="UTF-8"?>
> <ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
> http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
> version="3.0">
> <enterprise-beans>
> <session>
> <ejb-name>EmployeeService</ejb-name>
> <business-remote>org.acme.EmployeeService</business-remote>
> <ejb-class>org.acme.EmployeeServiceBean</ejb-class>
> <session-type>Stateless</session-type>
> <persistence-context-ref>
> <persistence-context-ref-name>persistence/acme/entity-manager</
> persistence-context-ref-name>
> <persistence-unit-name>acme</persistence-unit-name>
> </persistence-context-ref>
> <persistence-unit-ref>
> <persistence-unit-ref-name>persistence/acme/factory</persistence-unit-
> ref-name>
> <persistence-unit-name>acme</persistence-unit-name>
> </persistence-unit-ref>
> </session>
> </enterprise-beans>
> </ejb-jar>
>
> Example of looking up an EntityManager in JNDI
> ===============================================
>
> InitialContext context = new InitialContext();
> EntityManager entityManager = (EntityManager)context.lookup("java:comp/
> env/persistence/acme/entity-manager");
> ...
>
> Example of looking up an EntityManagerFactory in JNDI
> =====================================================
>
> InitialContext context = new InitialContext();
> EntityManagerFactory factory = (EntityManagerFactory)context.lookup
> ("java:comp/env/persistence/acme/factory");
> ...
>
> Example of injecting an EntityManager and EntityManagerFactory
> ===============================================================
>
> .@Stateless(name="EmployeeService", mappedName="acme/EmployeeService")
> .@Remote(EmployeeService.class)
> public class EmployeeServiceBean implements EmployeeService {
>
> .@PersistenceContext(unitName="acme")
> private EntityManager entityManager;
>
> .@PersistenceUnit(unitName="acme")
> private EntityManagerFactory factory;
> ...
> }
>
> Please feel free to get back to me in case of any doubt or query
> regarding the same.
>
>
> Regards,
> Saumajit Das
>
>
>
>
>
>>
> Claus Ibsen-2 wrote:
>>
>>>Hi
>>>
>>>That is the same s*** with the J2ee servers and the JNDI lookup. Its
>>>painful when it does not work and you need to setup all kind
>>>of indirections in various deployment descriptors both standard j2ee
>>>related and server specific.
>>>
>>>I will try googling and look at WebLogic documentation as its a pure
>>>WebLogic + Spring J2ee lookup thingy.
>>
>>
>>
>> On Mon, Aug 31, 2009 at 10:31 AM,
>> BAltmiks<be...@steria-mummert.de> wrote:
>>>
>>> - Camel 2.0M3
>>> - Camel-JPA 2.0M3
>>> - Weblogic 10
>>> - Hibernate-Core 3.3.0.SP1
>>> - Hibernate-EntityManager 3.4.0.GA
>>> - Configuration in Spring XML
>>>
>>>
>>> Hi,
>>>
>>> I tried to make use of the jpa component. But I have problems to get an
>>> EntityManagerFactory from JNDI on Weblogic 10. As described in the
>>> http://static.springsource.org/spring/docs/2.5.x/reference/orm.html#orm-jpa
>>> Spring JPA Documentation I do a JNDI-Lookup. persistence-unit-ref
>>> entries
>>> are defined in the Java EE deployment descriptor (ejb-jar.xml).
>>>
>>> The Exception is:
>>>
>>> javax.naming.NameNotFoundException: Unable to resolve 'TMD_PERSISTENCE'.
>>> Resolved ''; remaining name 'TMD_PERSISTENCE'
>>> at
>>> weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1138)
>>> at
>>> weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:251)
>>> at
>>> weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:171)
>>> at
>>> weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:205)
>>> at
>>> weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)
>>> at
>>> weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:367)
>>> at javax.naming.InitialContext.lookup(InitialContext.java:351)
>>> at
>>> org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java:155)
>>> at
>>> org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:88)
>>> at
>>> org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:153)
>>> at
>>> org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:178)
>>>
>>> Can anybody give me a hint what i am doing wrong?
>>>
>>> Thanks,
>>> Bernd Altmiks
>>>
>>> My Camel-Context:
>>> ...
>>> <jee:jndi-lookup id="eMFactory" jndi-name="TMD_PERSISTENCE"/>
>>>
>>> <bean id="jpa" class="org.apache.camel.component.jpa.JpaComponent">
>>> <property name="entityManagerFactory" ref="eMFactory" />
>>> <property name="transactionManager" ref="txManager" />
>>> </bean>
>>>
>>> <bean id="txManager"
>>> class="org.springframework.transaction.jta.WebLogicJtaTransactionManager"/>
>>> ...
>>>
>>>
>>> My ejb-jar.xml
>>>
>>> <?xml version="1.0" encoding="UTF-8"?>
>>>
>>> <ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"
>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
>>> http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
>>> version="3.0">
>>> <enterprise-beans>
>>>
>>> <session>
>>> <ejb-name>ITMDClientDAO</ejb-name>
>>> <ejb-class>tmd.al.dao.TMDClientDAO</ejb-class>
>>> <session-type>Stateless</session-type>
>>> <persistence-unit-ref>
>>>
>>> <persistence-unit-ref-name>TMD_PERSISTENCE</persistence-unit-ref-name>
>>>
>>> <persistence-unit-name>TMD_PERSISTENCE</persistence-unit-name>
>>>
>>> <mapped-name>TMD_PERSISTENCE</mapped-name>
>>> </persistence-unit-ref>
>>> </session>
>>> </enterprise-beans>
>>> </ejb-jar>
>>>
>>>
>>> My persistence.xml
>>>
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <persistence xmlns="http://java.sun.com/xml/ns/persistence"
>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>> version="1.0"
>>> xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
>>> http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
>>> <persistence-unit name="TMD_PERSISTENCE" transaction-type="JTA">
>>> <provider>org.hibernate.ejb.HibernatePersistence</provider>
>>>
>>> <jta-data-source>com.mummert.tributum.tbpersistence.TributumDataSource</jta-data-source>
>>> <class>tmd.al.entity.TMDMessage</class>
>>> <properties>
>>> <property name="hibernate.dialect"
>>> value="org.hibernate.dialect.Oracle10gDialect"/>
>>> <property name="hibernate.transaction.manager_lookup_class"
>>> value="org.hibernate.transaction.WeblogicTransactionManagerLookup" />
>>> <property name="hibernate.show_sql" value="false" />
>>> <property name="hibernate.format_sql" value="false" />
>>> <property name="hibernate.use_sql_comments" value="false"/>
>>> <property name="hibernate.generate_statistics" value="false" />
>>> <property
>>> name="hibernate.jndi.weblogic.jndi.replicateBindings"
>>> value="false" />
>>> <property name="hibernate.query.factory_class"
>>> value="org.hibernate.hql.classic.ClassicQueryTranslatorFactory"/>
>>> <property name="hibernate.cache.use_second_level_cache"
>>> value="false"/>
>>> </properties>
>>> </persistence-unit>
>>> </persistence>
>>>
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/JPA-component-in-a-JEE5-environment%3A-EntityManagerFactory-from-JNDI-tp25219979p25219979.html
>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>
>>>
>>
>>
>>
>> --
>> Claus Ibsen
>> Apache Camel Committer
>>
>> Open Source Integration: http://fusesource.com
>> Blog: http://davsclaus.blogspot.com/
>> Twitter: http://twitter.com/davsclaus
>>
>>
>
>
Doesn't work on Weblogic. There is no way to get the EntityManager from
JNDI. Here is the answer from the Oracle-Support:
"According the EJB3 specification, you need to lookup the entity from the
same container (from any servlet or session bean running on that
container)."
--
View this message in context: http://www.nabble.com/JPA-component-in-a-JEE5-environment%3A-EntityManagerFactory-from-JNDI-tp25219979p26056419.html
Sent from the Camel - Users mailing list archive at Nabble.com.
Re: JPA component in a JEE5 environment: EntityManagerFactory from
JNDI
Posted by Claus Ibsen <cl...@gmail.com>.
On Thu, Sep 3, 2009 at 2:55 PM, BAltmiks<be...@steria-mummert.de> wrote:
>
> Hi Claus,
>
> thank your for your help!
>
> This is what the Oracle-Support says. I will try these.
Thanks for sharing this.
Yeah the jnid lookup is cumbersome :)
>
>
> Hello Bernd,
>
> I tried calling you regarding the issue, however couldn't reach.
>
> As per the issue I understand that you are using trying to lookup the
> Entity Manager instance and you are trying to use Entity Manager
> Factory, but you do not wish to use injection of .@PersistenceContext.
>
> Please let me know if you are using any JPA provider (e.g. kodo,
> hibernate etc).
>
> In JEE the EntityManager or EntityManagerFactory can either be looked
> up in JNDI, or injected into a SessionBean. To look up the
> EntityManager in JNDI it must be published in JNDI such as through a
> <persistence-context-ref> in a SessionBean's ejb-jar.xml file. To
> inject an EntityManager or EntityManagerFactory the
> annotation .@PersistenceContext or .@PersistenceUnit are used.
>
> For your reference I am adding both the options (annotation / non-
> annota)
>
> Example SessionBean ejb-jar.xml file with persistence context
>
> <?xml version="1.0" encoding="UTF-8"?>
> <ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
> http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
> version="3.0">
> <enterprise-beans>
> <session>
> <ejb-name>EmployeeService</ejb-name>
> <business-remote>org.acme.EmployeeService</business-remote>
> <ejb-class>org.acme.EmployeeServiceBean</ejb-class>
> <session-type>Stateless</session-type>
> <persistence-context-ref>
> <persistence-context-ref-name>persistence/acme/entity-manager</
> persistence-context-ref-name>
> <persistence-unit-name>acme</persistence-unit-name>
> </persistence-context-ref>
> <persistence-unit-ref>
> <persistence-unit-ref-name>persistence/acme/factory</persistence-unit-
> ref-name>
> <persistence-unit-name>acme</persistence-unit-name>
> </persistence-unit-ref>
> </session>
> </enterprise-beans>
> </ejb-jar>
>
> Example of looking up an EntityManager in JNDI
> ===============================================
>
> InitialContext context = new InitialContext();
> EntityManager entityManager = (EntityManager)context.lookup("java:comp/
> env/persistence/acme/entity-manager");
> ...
>
> Example of looking up an EntityManagerFactory in JNDI
> =====================================================
>
> InitialContext context = new InitialContext();
> EntityManagerFactory factory = (EntityManagerFactory)context.lookup
> ("java:comp/env/persistence/acme/factory");
> ...
>
> Example of injecting an EntityManager and EntityManagerFactory
> ===============================================================
>
> .@Stateless(name="EmployeeService", mappedName="acme/EmployeeService")
> .@Remote(EmployeeService.class)
> public class EmployeeServiceBean implements EmployeeService {
>
> .@PersistenceContext(unitName="acme")
> private EntityManager entityManager;
>
> .@PersistenceUnit(unitName="acme")
> private EntityManagerFactory factory;
> ...
> }
>
> Please feel free to get back to me in case of any doubt or query
> regarding the same.
>
>
> Regards,
> Saumajit Das
>
>
>
>
>
>>
> Claus Ibsen-2 wrote:
>>
>>>Hi
>>>
>>>That is the same s*** with the J2ee servers and the JNDI lookup. Its
>>>painful when it does not work and you need to setup all kind
>>>of indirections in various deployment descriptors both standard j2ee
>>>related and server specific.
>>>
>>>I will try googling and look at WebLogic documentation as its a pure
>>>WebLogic + Spring J2ee lookup thingy.
>>
>>
>>
>> On Mon, Aug 31, 2009 at 10:31 AM,
>> BAltmiks<be...@steria-mummert.de> wrote:
>>>
>>> - Camel 2.0M3
>>> - Camel-JPA 2.0M3
>>> - Weblogic 10
>>> - Hibernate-Core 3.3.0.SP1
>>> - Hibernate-EntityManager 3.4.0.GA
>>> - Configuration in Spring XML
>>>
>>>
>>> Hi,
>>>
>>> I tried to make use of the jpa component. But I have problems to get an
>>> EntityManagerFactory from JNDI on Weblogic 10. As described in the
>>> http://static.springsource.org/spring/docs/2.5.x/reference/orm.html#orm-jpa
>>> Spring JPA Documentation I do a JNDI-Lookup. persistence-unit-ref
>>> entries
>>> are defined in the Java EE deployment descriptor (ejb-jar.xml).
>>>
>>> The Exception is:
>>>
>>> javax.naming.NameNotFoundException: Unable to resolve 'TMD_PERSISTENCE'.
>>> Resolved ''; remaining name 'TMD_PERSISTENCE'
>>> at
>>> weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1138)
>>> at
>>> weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:251)
>>> at
>>> weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:171)
>>> at
>>> weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:205)
>>> at
>>> weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)
>>> at
>>> weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:367)
>>> at javax.naming.InitialContext.lookup(InitialContext.java:351)
>>> at
>>> org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java:155)
>>> at
>>> org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:88)
>>> at
>>> org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:153)
>>> at
>>> org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:178)
>>>
>>> Can anybody give me a hint what i am doing wrong?
>>>
>>> Thanks,
>>> Bernd Altmiks
>>>
>>> My Camel-Context:
>>> ...
>>> <jee:jndi-lookup id="eMFactory" jndi-name="TMD_PERSISTENCE"/>
>>>
>>> <bean id="jpa" class="org.apache.camel.component.jpa.JpaComponent">
>>> <property name="entityManagerFactory" ref="eMFactory" />
>>> <property name="transactionManager" ref="txManager" />
>>> </bean>
>>>
>>> <bean id="txManager"
>>> class="org.springframework.transaction.jta.WebLogicJtaTransactionManager"/>
>>> ...
>>>
>>>
>>> My ejb-jar.xml
>>>
>>> <?xml version="1.0" encoding="UTF-8"?>
>>>
>>> <ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"
>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
>>> http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
>>> version="3.0">
>>> <enterprise-beans>
>>>
>>> <session>
>>> <ejb-name>ITMDClientDAO</ejb-name>
>>> <ejb-class>tmd.al.dao.TMDClientDAO</ejb-class>
>>> <session-type>Stateless</session-type>
>>> <persistence-unit-ref>
>>>
>>> <persistence-unit-ref-name>TMD_PERSISTENCE</persistence-unit-ref-name>
>>>
>>> <persistence-unit-name>TMD_PERSISTENCE</persistence-unit-name>
>>> <mapped-name>TMD_PERSISTENCE</mapped-name>
>>> </persistence-unit-ref>
>>> </session>
>>> </enterprise-beans>
>>> </ejb-jar>
>>>
>>>
>>> My persistence.xml
>>>
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <persistence xmlns="http://java.sun.com/xml/ns/persistence"
>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>> version="1.0"
>>> xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
>>> http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
>>> <persistence-unit name="TMD_PERSISTENCE" transaction-type="JTA">
>>> <provider>org.hibernate.ejb.HibernatePersistence</provider>
>>>
>>> <jta-data-source>com.mummert.tributum.tbpersistence.TributumDataSource</jta-data-source>
>>> <class>tmd.al.entity.TMDMessage</class>
>>> <properties>
>>> <property name="hibernate.dialect"
>>> value="org.hibernate.dialect.Oracle10gDialect"/>
>>> <property name="hibernate.transaction.manager_lookup_class"
>>> value="org.hibernate.transaction.WeblogicTransactionManagerLookup" />
>>> <property name="hibernate.show_sql" value="false" />
>>> <property name="hibernate.format_sql" value="false" />
>>> <property name="hibernate.use_sql_comments" value="false"/>
>>> <property name="hibernate.generate_statistics" value="false" />
>>> <property name="hibernate.jndi.weblogic.jndi.replicateBindings"
>>> value="false" />
>>> <property name="hibernate.query.factory_class"
>>> value="org.hibernate.hql.classic.ClassicQueryTranslatorFactory"/>
>>> <property name="hibernate.cache.use_second_level_cache"
>>> value="false"/>
>>> </properties>
>>> </persistence-unit>
>>> </persistence>
>>>
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/JPA-component-in-a-JEE5-environment%3A-EntityManagerFactory-from-JNDI-tp25219979p25219979.html
>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>
>>>
>>
>>
>>
>> --
>> Claus Ibsen
>> Apache Camel Committer
>>
>> Open Source Integration: http://fusesource.com
>> Blog: http://davsclaus.blogspot.com/
>> Twitter: http://twitter.com/davsclaus
>>
>>
>
> --
> View this message in context: http://www.nabble.com/JPA-component-in-a-JEE5-environment%3A-EntityManagerFactory-from-JNDI-tp25219979p25275422.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>
--
Claus Ibsen
Apache Camel Committer
Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus
Re: JPA component in a JEE5 environment: EntityManagerFactory from
JNDI
Posted by BAltmiks <be...@steria-mummert.de>.
Hi Claus,
thank your for your help!
This is what the Oracle-Support says. I will try these.
Hello Bernd,
I tried calling you regarding the issue, however couldn't reach.
As per the issue I understand that you are using trying to lookup the
Entity Manager instance and you are trying to use Entity Manager
Factory, but you do not wish to use injection of .@PersistenceContext.
Please let me know if you are using any JPA provider (e.g. kodo,
hibernate etc).
In JEE the EntityManager or EntityManagerFactory can either be looked
up in JNDI, or injected into a SessionBean. To look up the
EntityManager in JNDI it must be published in JNDI such as through a
<persistence-context-ref> in a SessionBean's ejb-jar.xml file. To
inject an EntityManager or EntityManagerFactory the
annotation .@PersistenceContext or .@PersistenceUnit are used.
For your reference I am adding both the options (annotation / non-
annota)
Example SessionBean ejb-jar.xml file with persistence context
<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
version="3.0">
<enterprise-beans>
<session>
<ejb-name>EmployeeService</ejb-name>
<business-remote>org.acme.EmployeeService</business-remote>
<ejb-class>org.acme.EmployeeServiceBean</ejb-class>
<session-type>Stateless</session-type>
<persistence-context-ref>
<persistence-context-ref-name>persistence/acme/entity-manager</
persistence-context-ref-name>
<persistence-unit-name>acme</persistence-unit-name>
</persistence-context-ref>
<persistence-unit-ref>
<persistence-unit-ref-name>persistence/acme/factory</persistence-unit-
ref-name>
<persistence-unit-name>acme</persistence-unit-name>
</persistence-unit-ref>
</session>
</enterprise-beans>
</ejb-jar>
Example of looking up an EntityManager in JNDI
===============================================
InitialContext context = new InitialContext();
EntityManager entityManager = (EntityManager)context.lookup("java:comp/
env/persistence/acme/entity-manager");
...
Example of looking up an EntityManagerFactory in JNDI
=====================================================
InitialContext context = new InitialContext();
EntityManagerFactory factory = (EntityManagerFactory)context.lookup
("java:comp/env/persistence/acme/factory");
...
Example of injecting an EntityManager and EntityManagerFactory
===============================================================
.@Stateless(name="EmployeeService", mappedName="acme/EmployeeService")
.@Remote(EmployeeService.class)
public class EmployeeServiceBean implements EmployeeService {
.@PersistenceContext(unitName="acme")
private EntityManager entityManager;
.@PersistenceUnit(unitName="acme")
private EntityManagerFactory factory;
...
}
Please feel free to get back to me in case of any doubt or query
regarding the same.
Regards,
Saumajit Das
>
Claus Ibsen-2 wrote:
>
>>Hi
>>
>>That is the same s*** with the J2ee servers and the JNDI lookup. Its
>>painful when it does not work and you need to setup all kind
>>of indirections in various deployment descriptors both standard j2ee
>>related and server specific.
>>
>>I will try googling and look at WebLogic documentation as its a pure
>>WebLogic + Spring J2ee lookup thingy.
>
>
>
> On Mon, Aug 31, 2009 at 10:31 AM,
> BAltmiks<be...@steria-mummert.de> wrote:
>>
>> - Camel 2.0M3
>> - Camel-JPA 2.0M3
>> - Weblogic 10
>> - Hibernate-Core 3.3.0.SP1
>> - Hibernate-EntityManager 3.4.0.GA
>> - Configuration in Spring XML
>>
>>
>> Hi,
>>
>> I tried to make use of the jpa component. But I have problems to get an
>> EntityManagerFactory from JNDI on Weblogic 10. As described in the
>> http://static.springsource.org/spring/docs/2.5.x/reference/orm.html#orm-jpa
>> Spring JPA Documentation I do a JNDI-Lookup. persistence-unit-ref
>> entries
>> are defined in the Java EE deployment descriptor (ejb-jar.xml).
>>
>> The Exception is:
>>
>> javax.naming.NameNotFoundException: Unable to resolve 'TMD_PERSISTENCE'.
>> Resolved ''; remaining name 'TMD_PERSISTENCE'
>> at
>> weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1138)
>> at
>> weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:251)
>> at
>> weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:171)
>> at
>> weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:205)
>> at
>> weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)
>> at
>> weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:367)
>> at javax.naming.InitialContext.lookup(InitialContext.java:351)
>> at
>> org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java:155)
>> at
>> org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:88)
>> at
>> org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:153)
>> at
>> org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:178)
>>
>> Can anybody give me a hint what i am doing wrong?
>>
>> Thanks,
>> Bernd Altmiks
>>
>> My Camel-Context:
>> ...
>> <jee:jndi-lookup id="eMFactory" jndi-name="TMD_PERSISTENCE"/>
>>
>> <bean id="jpa" class="org.apache.camel.component.jpa.JpaComponent">
>> <property name="entityManagerFactory" ref="eMFactory" />
>> <property name="transactionManager" ref="txManager" />
>> </bean>
>>
>> <bean id="txManager"
>> class="org.springframework.transaction.jta.WebLogicJtaTransactionManager"/>
>> ...
>>
>>
>> My ejb-jar.xml
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>>
>> <ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
>> http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
>> version="3.0">
>> <enterprise-beans>
>>
>> <session>
>> <ejb-name>ITMDClientDAO</ejb-name>
>> <ejb-class>tmd.al.dao.TMDClientDAO</ejb-class>
>> <session-type>Stateless</session-type>
>> <persistence-unit-ref>
>>
>> <persistence-unit-ref-name>TMD_PERSISTENCE</persistence-unit-ref-name>
>>
>> <persistence-unit-name>TMD_PERSISTENCE</persistence-unit-name>
>> <mapped-name>TMD_PERSISTENCE</mapped-name>
>> </persistence-unit-ref>
>> </session>
>> </enterprise-beans>
>> </ejb-jar>
>>
>>
>> My persistence.xml
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <persistence xmlns="http://java.sun.com/xml/ns/persistence"
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> version="1.0"
>> xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
>> http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
>> <persistence-unit name="TMD_PERSISTENCE" transaction-type="JTA">
>> <provider>org.hibernate.ejb.HibernatePersistence</provider>
>>
>> <jta-data-source>com.mummert.tributum.tbpersistence.TributumDataSource</jta-data-source>
>> <class>tmd.al.entity.TMDMessage</class>
>> <properties>
>> <property name="hibernate.dialect"
>> value="org.hibernate.dialect.Oracle10gDialect"/>
>> <property name="hibernate.transaction.manager_lookup_class"
>> value="org.hibernate.transaction.WeblogicTransactionManagerLookup" />
>> <property name="hibernate.show_sql" value="false" />
>> <property name="hibernate.format_sql" value="false" />
>> <property name="hibernate.use_sql_comments" value="false"/>
>> <property name="hibernate.generate_statistics" value="false" />
>> <property name="hibernate.jndi.weblogic.jndi.replicateBindings"
>> value="false" />
>> <property name="hibernate.query.factory_class"
>> value="org.hibernate.hql.classic.ClassicQueryTranslatorFactory"/>
>> <property name="hibernate.cache.use_second_level_cache"
>> value="false"/>
>> </properties>
>> </persistence-unit>
>> </persistence>
>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/JPA-component-in-a-JEE5-environment%3A-EntityManagerFactory-from-JNDI-tp25219979p25219979.html
>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>
>>
>
>
>
> --
> Claus Ibsen
> Apache Camel Committer
>
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
>
>
--
View this message in context: http://www.nabble.com/JPA-component-in-a-JEE5-environment%3A-EntityManagerFactory-from-JNDI-tp25219979p25275422.html
Sent from the Camel - Users mailing list archive at Nabble.com.