I suspect that you may have not correctly wrapped the XADataSource into a DataSource that does the resource enlistment.
Take a look at:
https://ops4j1.jira.com/wiki/display/PAXJDBC/Pooling+and+XA+support+for+DataSourceFactory

Does it work if you use the pool-xa DataSource?

Christian

On 30.09.2015 14:26, Mihael Schmidt wrote:
Hi,

I am having JPA/JTA setup for a persistence unit and it works. Now I have added another service which also needs to persist some data in another database. I have setup another persistence unit.

Service1:

    public SalesProspect create(SalesProspect prospect) {
prospect.setCtime(new Date());
prospect.setMtime(prospect.getCtime());
User user = (User) coordinator.peek().getVariables().get(User.class);
prospect.setCreator(user.getUsername());
prospect.setModifier(user.getUsername());
em.persist(prospect);
logger.debug("Neuen Interessenten {} mit Id {} erstellt.", prospect.getName(), prospect.getId()); eventAdmin.sendEvent(new Event(DomainEvent.SALESPROSPECT_CREATED.id <http://domainevent.salesprospect_created.id/>(), new DomainEventProperties("data",
prospect)));
        return prospect;
    }

Service2:
Receives the event and also uses em.persist(mapping) to persist some other data (not the data from Service1). The event is processed synchronously on the same thread.

Everything seems to work fine. The data is persisted from both services. But I am getting the following error message:


2015-09-30 11:04:51,188 | ERROR | qtp20630989-67 | Transaction | 212 - org.apache.aries.transaction.manager - 1.1.1 | Please correct the integration and supply a NamedXAResource java.lang.IllegalStateException: Cannot log transactions as org.postgresql.xa.PGXAConnection@17349c5 is not a NamedXAResource. at org.apache.geronimo.transaction.manager.TransactionImpl$TransactionBranch.getResourceName(TransactionImpl.java:776)
at org.apache.aries.transaction.internal.HOWLLog.prepare(HOWLLog.java:262)
at org.apache.geronimo.transaction.manager.TransactionImpl.internalPrepare(TransactionImpl.java:467) at org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:312) at org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:252)
at Proxy9553675a_ff4b_4fbf_97b5_9deabd4b0454.commit(Unknown Source)
at org.apache.aries.transaction.TransactionAttribute$4.finish(TransactionAttribute.java:94) at org.apache.aries.transaction.TxInterceptorImpl.postCallWithReturn(TxInterceptorImpl.java:85) at org.apache.aries.blueprint.proxy.Collaborator.postInvoke(Collaborator.java:105)
at Proxy57c1bed5_d596_4d00_8ce0_6b6325003223.create(Unknown Source)
at Proxy57c1bed5_d596_4d00_8ce0_6b6325003223.create(Unknown Source)
at sdm.rs.crm.SalesProspectResource.create(SalesProspectResource.java:131)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.7.0_75]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.7.0_75] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_75]
at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_75]
at org.apache.wink.server.internal.handlers.InvokeMethodHandler.handleRequest(InvokeMethodHandler.java:63)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.handlers.AbstractHandler.handleRequest(AbstractHandler.java:33)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:63)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.internal.handlers.CreateInvocationParametersHandler.handleRequest(CreateInvocationParametersHandler.java:54)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:63)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleResourceMethod(FindResourceMethodHandler.java:151)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleRequest(FindResourceMethodHandler.java:65)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:63)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.internal.handlers.FindRootResourceHandler.handleRequest(FindRootResourceHandler.java:95)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:63)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.internal.handlers.HeadMethodHandler.handleRequest(HeadMethodHandler.java:53)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:63)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.internal.handlers.OptionsMethodHandler.handleRequest(OptionsMethodHandler.java:46)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:63)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.internal.handlers.SearchResultHandler.handleRequest(SearchResultHandler.java:33)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:63)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.internal.log.ResourceInvocation.handleRequest(ResourceInvocation.java:92)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:63)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.internal.log.Requests.handleRequest(Requests.java:76)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:63)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.handlers.AbstractHandlersChain.run(AbstractHandlersChain.java:48)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.internal.RequestProcessor.handleRequestWithoutFaultBarrier(RequestProcessor.java:207)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.internal.RequestProcessor.handleRequest(RequestProcessor.java:154)[161:org.amdatu.web.rest.wink:2.0.2] at org.apache.wink.server.internal.servlet.RestServlet.service(RestServlet.java:119)[161:org.amdatu.web.rest.wink:2.0.2] at org.amdatu.web.rest.wink.WinkRestServlet.service(WinkRestServlet.java:87)[161:org.amdatu.web.rest.wink:2.0.2] at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)[69:org.apache.geronimo.specs.geronimo-servlet_3.0_spec:1.0.0] at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)[75:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411] at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:503)[75:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411] at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:69)[84:org.ops4j.pax.web.pax-web-jetty:3.1.4] at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)[75:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411] at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)[75:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411] at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)[75:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411] at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)[75:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411] at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:240)[84:org.ops4j.pax.web.pax-web-jetty:3.1.4] at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429)[75:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411] at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)[75:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411] at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)[75:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411] at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)[75:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411] at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:75)[84:org.ops4j.pax.web.pax-web-jetty:3.1.4] at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)[75:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411] at org.eclipse.jetty.server.Server.handle(Server.java:370)[75:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411] at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)[75:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411] at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:982)[75:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411] at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1043)[75:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411] at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)[75:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411] at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)[75:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411] at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)[75:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411] at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696)[75:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411] at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53)[75:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411] at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)[75:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411] at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)[75:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
at java.lang.Thread.run(Thread.java:745)[:1.7.0_75]

Is the problem that I somehow have a nested transaction?


Environment:

Apache Karaf 3.0.3
OpenJPA 2.2.2
PostgreSQL Driver:  9.3.0.1100-jdbc41_1

Installed Aries Bundles (if important):
karaf@sdm()> list -s -t 1 | grep aries
9 | Active | 20 | 1.1.0 | org.apache.aries.util
10 | Active | 20 | 1.0.1 | org.apache.aries.proxy.api
11 | Active | 20 | 1.0.4 | org.apache.aries.proxy.impl
12 | Active | 20 | 1.0.1 | org.apache.aries.blueprint.api
13 | Active | 20 | 1.0.5 | org.apache.aries.blueprint.cm <http://org.apache.aries.blueprint.cm/> 14 | Resolved | 20 | 1.0.0 | org.apache.aries.blueprint.core.compatibility, Hosts: 15
15 | Active | 20 | 1.4.2 | org.apache.aries.blueprint.core, Fragments: 14
36 | Active | 30 | 1.0.0 | org.apache.aries.quiesce.api
57 | Active | 30 | 1.1.1 | org.apache.aries.jmx.api
58 | Active | 30 | 1.1.2 | org.apache.aries.jmx.core
59 | Active | 30 | 1.1.0 | org.apache.aries.jmx.blueprint.api
60 | Active | 30 | 1.1.0 | org.apache.aries.jmx.blueprint.core
61 | Active | 30 | 1.0.0 | org.apache.aries.jmx.whiteboard
97 | Active | 30 | 1.0.2 | org.apache.aries.jpa.api
98 | Active | 30 | 1.0.4 | org.apache.aries.jpa.blueprint.aries
99 | Active | 30 | 1.0.2 | org.apache.aries.jpa.container
100 | Active | 30 | 1.0.4 | org.apache.aries.jpa.container.context
115 | Active | 30 | 1.1.0 | org.apache.aries.jndi.api
116 | Active | 30 | 1.0.0 | org.apache.aries.jndi.core
117 | Active | 30 | 1.0.0 | org.apache.aries.jndi.rmi
118 | Active | 30 | 1.1.0 | org.apache.aries.jndi.url
119 | Active | 30 | 1.0.0 | org.apache.aries.jndi.legacy.support
211 | Active | 30 | 1.0.1 | org.apache.aries.transaction.blueprint
212 | Active | 30 | 1.1.1 | org.apache.aries.transaction.manager

After some more research I think that this is more tied to the transaction manager than to openjpa (to which I have also posted this, sorry).

Is this somehow connected to this: https://issues.apache.org/jira/browse/GERONIMO-3354 , the error looks similar.

Thanx in advance


--
Mihael Schmidt
Software und System-Entwicklung

Schulz Gebäudeservice GmbH & Co. KG
Dr.-Max-Ilgner-Straße 17
32339 Espelkamp
        
Persönlich haftende Gesellschafterin:
Gebäudereinigung Joachim Schulz
Verwaltungsgesellschaft mbH
Telefon: +49 5772 9100 0
Telefax: +49 5772 9100 11
Email: [email protected] <mailto:[email protected]>
Internet: www.sgbs.de <http://www.sgbs.de/>
        
Geschäftsführer: Joachim und Dirk Schulz, Norbert Kosica
Handelsregister Bad Oeynhausen: HRA 5902, HRB 8591
UST-Id-Nr.: DE 125752702



--
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
http://www.talend.com

Reply via email to