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: [email protected]
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