You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@openjpa.apache.org by Mihael Schmidt <ms...@sgbs.de> on 2015/09/30 11:30:45 UTC

Error: Cannot log transactions as org.postgresql.xa.PGXAConnection@17349c5 is not a NamedXAResource

Hi,

i am having some trouble getting things to run smoothly.

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(),
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
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


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: zentrale@sgbs.de
Internet: www.sgbs.de
Geschäftsführer: Joachim und Dirk Schulz, Norbert Kosica
Handelsregister Bad Oeynhausen: HRA 5902, HRB 8591
UST-Id-Nr.: DE 125752702