Thanks Claus,

we are currently not using spring directly in this application, so we don't 
have a spring.xml file explicitly defined, so I'm not sure if this will be an 
issue with our EJBs if we set up a different transaction manager.

I was also tried to see if I could set up 2 different persistence units, one 
with the transactions set to "JTA", which the EJBs could use, and the other 
persistence unit set to RESOURCE_LOCAL, which the Camel JPA component could 
use, but issue still exists in that case.  

Surely there must be others out there who are using the JPA component in an 
application that uses EJBs, but I've found very little in my google searches 
related to running an app with this configuration.

Is there anywhere you could point me to for seeing what it would take to 
implement this in Java?

We are using Camel 2.15    


Thanks for your suggestions. 

-Rob
________________________________________
From: Claus Ibsen <claus.ib...@gmail.com>
Sent: Friday, April 17, 2015 10:29 PM
To: users@camel.apache.org
Subject: Re: Using JPA component in EJB application and having issues with null 
TransactionManager.

Hi

You can likely configure the transaction manager on the jpa component
directly if you use spring xml

<bean id="jpa" class="org.apache.camel.component.jpa.JpaComponent">
   <property name ..."
   .. configure transaction manager here
</bean>

You can also configure this from java code, but that requires a bit
different work.

Maybe that helps?

And btw what version of Camel do you use?


On Sat, Apr 18, 2015 at 1:21 AM, Rob Terpilowski <r...@lynden.com> wrote:
> Hello,
>
> I have a web application which I am running in Glassfish 4.1, which contains 
> an EJB which is using Hibernate to access a SQL Server DB.  I would also like 
> to use the Camel JPA component for some new functionality, but I am getting 
> NullPointerExceptions complaining about the transaction manager when I 
> attempt to run a JPA consumer in the app.  Details are below:
>
>
> To start with, my persistance.xml contains:
>
> <persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence"; 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
> xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence 
> http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd";>
>   <persistence-unit name="com.lynden.peoplenet.test.pu" 
> transaction-type="JTA">
>     <provider>org.hibernate.ejb.HibernatePersistence</provider>
>     <jta-data-source>PeopleNet</jta-data-source>
>
>     <exclude-unlisted-classes>false</exclude-unlisted-classes>
>     <properties>
>     </properties>
>   </persistence-unit>
> </persistence>
>
>
>
> The URL of the JPA component is:
> jpa://com.lynden.peoplnet.test.bean.AllinboundMessagesSqlBean?consumeDelete=false&consumer.delay=60000&consumer.namedQuery=AllinboundMessagesSqlBean.findByProcessed&maxMessagesPerPoll=10&maximumResults=10&persistenceUnit=com.lynden.peoplenet.test.pu
>
>
> The following exception is being thrown in the web application's log file:
> javax.ejb.EJBTransactionRolledbackException
>         at 
> com.sun.ejb.containers.BaseContainer.mapLocal3xException(BaseContainer.java:2342)
>         at 
> com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2123)
>         at 
> com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2044)
>         at 
> com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:220)
>         at 
> com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:88)
>         at com.sun.proxy.$Proxy697.addRoutesToCamelContext(Unknown Source)
>         at 
> com.lynden.esperanto.camel.__EJB31_Generated__DefaultRouteBuilder__Intf____Bean__.addRoutesToCamelContext(Unknown
>  Source)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:497)
>         at 
> org.jboss.weld.util.reflection.Reflections.invokeAndUnwrap(Reflections.java:414)
>         at 
> org.jboss.weld.bean.proxy.EnterpriseBeanProxyMethodHandler.invoke(EnterpriseBeanProxyMethodHandler.java:127)
>         at 
> org.jboss.weld.bean.proxy.EnterpriseTargetBeanInstance.invoke(EnterpriseTargetBeanInstance.java:56)
>         at 
> org.jboss.weld.bean.proxy.InjectionPointPropagatingEnterpriseTargetBeanInstance.invoke(InjectionPointPropagatingEnterpriseTargetBeanInstance.java:65)
>         at 
> org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:100)
>         at 
> com.lynden.esperanto.camel.DefaultRouteBuilder$Proxy$_$$_Weld$EnterpriseProxy$.addRoutesToCamelContext(Unknown
>  Source)
>         at 
> org.apache.camel.impl.DefaultCamelContext$1.call(DefaultCamelContext.java:731)
>         at 
> org.apache.camel.impl.DefaultCamelContext$1.call(DefaultCamelContext.java:728)
>         at 
> org.apache.camel.impl.DefaultCamelContext.doWithDefinedClassLoader(DefaultCamelContext.java:2486)
>         at 
> org.apache.camel.impl.DefaultCamelContext.addRoutes(DefaultCamelContext.java:728)
>         at 
> org.apache.camel.cdi.CdiCamelContext$Proxy$_$$_WeldClientProxy.addRoutes(Unknown
>  Source)
>         at 
> com.lynden.esperanto.DefaultEsperantoService.start(DefaultEsperantoService.java:59)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:497)
>         at 
> com.sun.ejb.containers.interceptors.BeanCallbackInterceptor.intercept(InterceptorManager.java:1035)
>         at 
> com.sun.ejb.containers.interceptors.CallbackChainImpl.invokeNext(CallbackChainImpl.java:72)
>         at 
> com.sun.ejb.containers.interceptors.CallbackInvocationContext.proceed(CallbackInvocationContext.java:205)
>         at 
> org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:55)
>         at 
> org.jboss.weld.ejb.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:52)
>         at sun.reflect.GeneratedMethodAccessor876.invoke(Unknown Source)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:497)
>         at 
> com.sun.ejb.containers.interceptors.CallbackInterceptor.intercept(InterceptorManager.java:986)
>         at 
> com.sun.ejb.containers.interceptors.CallbackChainImpl.invokeNext(CallbackChainImpl.java:72)
>         at 
> com.sun.ejb.containers.interceptors.CallbackInvocationContext.proceed(CallbackInvocationContext.java:205)
>         at 
> com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doCall(SystemInterceptorProxy.java:163)
>         at 
> com.sun.ejb.containers.interceptors.SystemInterceptorProxy.init(SystemInterceptorProxy.java:125)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:497)
>         at 
> com.sun.ejb.containers.interceptors.CallbackInterceptor.intercept(InterceptorManager.java:986)
>         at 
> com.sun.ejb.containers.interceptors.CallbackChainImpl.invokeNext(CallbackChainImpl.java:72)
>         at 
> com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:412)
>         at 
> com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:375)
>         at 
> com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:2014)
>         at 
> com.sun.ejb.containers.AbstractSingletonContainer.createSingletonEJB(AbstractSingletonContainer.java:468)
>         at 
> com.sun.ejb.containers.AbstractSingletonContainer.access$000(AbstractSingletonContainer.java:74)
>         at 
> com.sun.ejb.containers.AbstractSingletonContainer$SingletonContextFactory.create(AbstractSingletonContainer.java:647)
>         at 
> com.sun.ejb.containers.AbstractSingletonContainer.instantiateSingletonInstance(AbstractSingletonContainer.java:389)
>         at 
> org.glassfish.ejb.startup.SingletonLifeCycleManager.initializeSingleton(SingletonLifeCycleManager.java:219)
>         at 
> org.glassfish.ejb.startup.SingletonLifeCycleManager.initializeSingleton(SingletonLifeCycleManager.java:180)
>         at 
> org.glassfish.ejb.startup.SingletonLifeCycleManager.doStartup(SingletonLifeCycleManager.java:158)
>         at 
> org.glassfish.ejb.startup.EjbApplication.start(EjbApplication.java:166)
>         at org.glassfish.internal.data.EngineRef.start(EngineRef.java:122)
>         at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:291)
>         at 
> org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:352)
>         at 
> com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:500)
>         at 
> com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:219)
>         at 
> org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:491)
>         at 
> com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:539)
>         at 
> com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:535)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at javax.security.auth.Subject.doAs(Subject.java:360)
>         at 
> com.sun.enterprise.v3.admin.CommandRunnerImpl$2.execute(CommandRunnerImpl.java:534)
>         at 
> com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:565)
>         at 
> com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:557)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at javax.security.auth.Subject.doAs(Subject.java:360)
>         at 
> com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:556)
>         at 
> com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1464)
>         at 
> com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1300(CommandRunnerImpl.java:109)
>         at 
> com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1846)
>         at 
> com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1722)
>         at 
> org.glassfish.admin.rest.utils.ResourceUtil.runCommand(ResourceUtil.java:253)
>         at 
> org.glassfish.admin.rest.utils.ResourceUtil.runCommand(ResourceUtil.java:231)
>         at 
> org.glassfish.admin.rest.utils.ResourceUtil.runCommand(ResourceUtil.java:275)
>         at 
> org.glassfish.admin.rest.resources.TemplateListOfResource.createResource(TemplateListOfResource.java:133)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:497)
>         at 
> org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
>         at 
> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:151)
>         at 
> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:171)
>         at 
> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:152)
>         at 
> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:104)
>         at 
> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:387)
>         at 
> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:331)
>         at 
> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:103)
>         at 
> org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:271)
>         at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>         at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>         at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>         at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>         at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>         at 
> org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:297)
>         at 
> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:254)
>         at 
> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1028)
>         at 
> org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainer.service(GrizzlyHttpContainer.java:365)
>         at 
> org.glassfish.admin.rest.adapter.RestAdapter$2.service(RestAdapter.java:316)
>         at 
> org.glassfish.admin.rest.adapter.RestAdapter.service(RestAdapter.java:179)
>         at 
> com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
>         at 
> com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
>         at 
> org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201)
>         at 
> org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175)
>         at 
> org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
>         at 
> org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
>         at 
> org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
>         at 
> org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
>         at 
> org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
>         at 
> org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
>         at 
> org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
>         at 
> org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561)
>         at 
> org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
>         at 
> org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
>         at 
> org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
>         at 
> org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
>         at 
> org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565)
>         at 
> org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545)
>         at java.lang.Thread.run(Thread.java:745)
> Caused by: javax.ejb.TransactionRolledbackLocalException: Exception thrown 
> from bean
>         at 
> com.sun.ejb.containers.EJBContainerTransactionManager.checkExceptionClientTx(EJBContainerTransactionManager.java:662)
>         at 
> com.sun.ejb.containers.EJBContainerTransactionManager.postInvokeTx(EJBContainerTransactionManager.java:507)
>         at 
> com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4566)
>         at 
> com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2074)
>         ... 122 more
> Caused by: java.lang.NullPointerException
>         at 
> org.hibernate.engine.transaction.internal.jta.JtaStatusHelper.getStatus(JtaStatusHelper.java:76)
>         at 
> org.hibernate.engine.transaction.internal.jta.JtaStatusHelper.isActive(JtaStatusHelper.java:118)
>         at 
> org.hibernate.engine.transaction.internal.jta.CMTTransaction.join(CMTTransaction.java:149)
>         at 
> org.hibernate.jpa.spi.AbstractEntityManagerImpl.joinTransaction(AbstractEntityManagerImpl.java:1602)
>         at 
> org.hibernate.jpa.spi.AbstractEntityManagerImpl.postInit(AbstractEntityManagerImpl.java:210)
>         at 
> org.hibernate.jpa.internal.EntityManagerImpl.<init>(EntityManagerImpl.java:91)
>         at 
> org.hibernate.jpa.internal.EntityManagerFactoryImpl.internalCreateEntityManager(EntityManagerFactoryImpl.java:345)
>         at 
> org.hibernate.jpa.internal.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:313)
>         at 
> org.apache.camel.component.jpa.JpaConsumer.doStart(JpaConsumer.java:503)
>         at 
> org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
>         at 
> org.apache.camel.impl.DefaultCamelContext.startService(DefaultCamelContext.java:2869)
>         at 
> org.apache.camel.impl.DefaultCamelContext.doStartOrResumeRouteConsumers(DefaultCamelContext.java:3163)
>         at 
> org.apache.camel.impl.DefaultCamelContext.doStartRouteConsumers(DefaultCamelContext.java:3099)
>         at 
> org.apache.camel.impl.DefaultCamelContext.safelyStartRouteServices(DefaultCamelContext.java:3029)
>         at 
> org.apache.camel.impl.DefaultCamelContext.safelyStartRouteServices(DefaultCamelContext.java:3042)
>         at 
> org.apache.camel.impl.DefaultCamelContext.startRouteService(DefaultCamelContext.java:2919)
>         at 
> org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:843)
>         at 
> org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:2895)
>         at 
> org.apache.camel.impl.DefaultCamelContext.addRouteDefinitions(DefaultCamelContext.java:775)
>         at 
> org.apache.camel.builder.RouteBuilder.populateRoutes(RouteBuilder.java:397)
>         at 
> org.apache.camel.builder.RouteBuilder.addRoutesToCamelContext(RouteBuilder.java:311)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:497)
>         at 
> org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1081)
>         at 
> org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1153)
>         at 
> com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:4786)
>         at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:656)
>         at 
> com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
>         at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608)
>         at 
> org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:46)
>         at 
> org.jboss.weld.ejb.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:52)
>         at sun.reflect.GeneratedMethodAccessor876.invoke(Unknown Source)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:497)
>         at 
> com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)
>         at 
> com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
>         at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608)
>         at 
> com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doCall(SystemInterceptorProxy.java:163)
>         at 
> com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:140)
>         at sun.reflect.GeneratedMethodAccessor1069.invoke(Unknown Source)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:497)
>         at 
> com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)
>         at 
> com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
>         at 
> com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:369)
>         at 
> com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4758)
>         at 
> com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4746)
>         at 
> com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:212)
>         ... 120 more
>
>
>
> This particular error goes away and the JPA component works if I change the 
> transaction-type property in the persistence.xml file to "RESOURCE_LOCAL", 
> but then, as expected the EJBs no longer work.
>
> The JPA component documentation says that the component will pull the 
> transaction manager out of the CamelContext's registry.  However, when I 
> stepped through the code in the debugger the registry did not have any items 
> that implemented the 
> org.springframework.transaction.PlatformTransactionManager interface that the 
> JPA component appears to be looking for.
>
> I'm hoping I'm just missing some simple configuration tweak, but any 
> help/ideas on where to look next would be greatly appreciated.
>
> Thanks,
> -Rob
>
>



--
Claus Ibsen
-----------------
Red Hat, Inc.
Email: cib...@redhat.com
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen
hawtio: http://hawt.io/
fabric8: http://fabric8.io/

Reply via email to