Hi Yeah that is actually something we can do to improve.
I have created a ticket https://issues.apache.org/activemq/browse/CAMEL-2647 And implemented it. Now it will auto lookup the EMF and TM from the registry. You are most welcome to try out 2.3-SNAPSHOT and see if that works for you as well. On Wed, Apr 14, 2010 at 6:43 AM, vcheruvu <[email protected]> wrote: > > Thanks that worked nicely. So if i didn't have this bean definition, Spring > and Camel would have instantiated the entityManagerFactory twice. As per the > jpa example in the Camel src, perhaps it would be good idea to add this bean > as part of the spring based camel config example and avoid duplication of > instantiating entityMangerFactory. You will notice that in the TRACE level > logs for Camel JPA example. > > > > Claus Ibsen-2 wrote: >> >> Hi >> >> You can set the EntityManagerFactory on the JpaComponent, and Camel >> will reuse this one. >> >> <bean id="jap" class="org...JpaComponent"> >> <property name="entityManagerFactory" ref="myEntityFac"/> >> </bean> >> >> >> On Wed, Apr 14, 2010 at 4:34 AM, vcheruvu <[email protected]> >> wrote: >>> >>> Hi, >>> >>> In my project, I am using JPA and using Hibernate vendor to poll tables. >>> Please see my config below. I am trying to setup multiple persiste >>> http://old.nabble.com/file/p28237771/trace-jpa.txt trace-jpa.txt nce.xml >>> file in my project. >>> >>> <bean> >>> <camel-context> >>> ... >>> <route> >>> <from >>> uri="jpa:com.MyEntity?consumer.namedQuery=pollRecords&consumeDelete=false&delay=1000&consumer.useFixedDelay=true"/> >>> <to >>> uri="bean:rransformerBean?method=transformRecords"/> >>> </route> >>> <camel-context/> >>> <bean id="jpaTemplate" class="org.springframework.orm.jpa.JpaTemplate"> >>> <property name="entityManagerFactory" ref="entityManagerFactory"/> >>> </bean> >>> <bean id="myPersistence" >>> class="org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager"> >>> <property name="persistenceXmlLocations"> >>> <list> >>> <value>classpath*:META-INF/spring/custom/persistence.xml</value> >>> </list> >>> </property> >>> <property name="loadTimeWeaver"> >>> <bean >>> class="org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver"/> >>> </property> >>> </bean> >>> <bean id="entityManagerFactory" >>> class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> >>> <property name="persistenceUnitName" value="camel"/> >>> <property name="persistenceUnitManager" ref="myPersistence" /> >>> <property name="jpaVendorAdapter"> >>> <bean >>> class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> >>> <property name="showSql" value="false"/> >>> </bean> >>> </property> >>> >>> </bean> >>> I am using Spring config to setup the multiple peristence xml location, >>> you >>> can see the example >>> http://docs.huihoo.com/spring/2.5.x/en-us/orm.html#orm-jpa-setup-lcemfb . >>> When running the camel application I have come to know that Spring has >>> successfully created entity >>> http://old.nabble.com/file/p28237771/trace-jpa.txt trace-jpa.txt >>> ManagerFactory and loaded correct persistence.xml file. However, when >>> camel >>> starts, JPA endpoint tries to create/instantiate new entityManagerFactory >>> Object again instead of using existing entityManageFactory that was >>> already >>> created by spring. In doing so, EJB3Configuration.configure() is invoked >>> by >>> Jpa endpoint throws an error stating "Could not find any >>> META-INF/persistence.xml file in the classpath". Why is camel JPA >>> endpoint >>> invoking Persistence.createEntityManagerFactory(persistenceUnit, >>> getEntityManagerProperties()); instead of reusing entityMangerFactory >>> that >>> was instantiated by Spring? Is camel getting confused between >>> LocalEntityManagerFactory and LocalContainerEntityManagerFactory ? I >>> have >>> added trace logs of camel, spring and hibernate in the attachment to this >>> post. Hopefully it helps you explain my questions. >>> >>> Kind regards, >>> -Vid- >>> >>> >>> >>> >>> >>> -- >>> View this message in context: >>> http://old.nabble.com/JPA-component---EntityManagerFactory-issue-tp28237771p28237771.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 >> >> > > -- > View this message in context: > http://old.nabble.com/JPA-component---EntityManagerFactory-issue-tp28237771p28238297.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
