camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rob Terpilowski <R...@Lynden.com>
Subject Re: Using JPA component in EJB application and having issues with null TransactionManager.
Date Mon, 20 Apr 2015 21:08:52 GMT
Hi Claus,
Ok, this makes sense, but unfortunately I can't figure out how to get the transaction manager.
 I attempted to just create a new JtaTransactionManager and pass that into the JPA component,
but that produced the following exception.  

org.springframework.transaction.CannotCreateTransactionException: No JTA UserTransaction available
- programmatic PlatformTransactionManager.getTransaction usage not supported
	at org.springframework.transaction.jta.JtaTransactionManager.doGetTransaction(JtaTransactionManager.java:782)
	at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:337)
	at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)
	at org.apache.camel.component.jpa.JpaConsumer.poll(JpaConsumer.java:92)
	at org.apache.camel.impl.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:174)
	at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:101)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)


I then attempted to do a jndi lookup of of the UserTransaction object and then build a JtaTransactionManager
object from that, which I could then pass in to the component, but encountered the following
error when attempting to look up the UserTransaction object.
Lookup of java:comp/UserTransaction not allowed for Container managed Transaction beans

The thing is that I don't even care about Transactions for this application and would be happy
to disable them if there was a way to do so.  

Have you heard of other experiences from users who are running both EJBs and the JPA component
within the same application?  Any other ideas of what I can do to get the JPA component up
and running?

Thanks,




________________________________________
From: Claus Ibsen <claus.ibsen@gmail.com>
Sent: Monday, April 20, 2015 12:17 AM
To: users@camel.apache.org
Subject: Re: Using JPA component in EJB application and having issues with null TransactionManager.

Hi

You can configure and set the transaction manager and whatnot directly
on the JpaComponent using the setters. Then there is no lookup needed
from Camel which you talk about is causing a problem for you.

On Sat, Apr 18, 2015 at 3:48 PM, Rob Terpilowski <ROBT@lynden.com> wrote:
> 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.ibsen@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 <ROBT@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: cibsen@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/



--
Claus Ibsen
-----------------
Red Hat, Inc.
Email: cibsen@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/
Mime
View raw message