tomee-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Romain Manni-Bucau <rmannibu...@gmail.com>
Subject Re: OpenEjb transaction manager recipe
Date Fri, 06 Jul 2012 12:34:15 GMT
when you define your ManagedConnectionFactory please add as
attribute transactionSupport with the value local or none (default is xa)

- Romain


2012/7/6 Romain Manni-Bucau <rmannibucau@gmail.com>

> can you debug in openejb-core?
>
> if yes
> look org.apache.openejb.resource.GeronimoConnectionManagerFactory#createTransactionSupport
> corresponding to your mcf.
> if no can you share your tx manager class + conf please?
>
> - Romain
>
>
> 2012/7/6 Borislav Kapukaranov <b.kapukaranov@gmail.com>
>
>> No, I think It's a regular one.
>>
>>
>> On Fri, Jul 6, 2012 at 1:14 PM, Romain Manni-Bucau <rmannibucau@gmail.com
>> >wrote:
>>
>> > your tx manager is an XA one?
>> >
>> > - Romain
>> >
>> >
>> > 2012/7/6 Borislav Kapukaranov <b.kapukaranov@gmail.com>
>> >
>> > > Just tried the new change. It stopped working :(, maybe I need to
>> > configure
>> > > something?
>> > >
>> > > Here's the stacktrace:
>> > >
>> > > [2012-07-06 12:52:22.872] INFO  Start Level Event Dispatcher
>> > > OpenEJB.startup.service
>> > Creating
>> > > ConnectionManager for Resource(id=MyJmsConnectionFactory)
>> > >
>> > > [2012-07-06 12:52:22.877] ERROR Start Level Event Dispatcher
>> > > OpenEJB
>> FATAL
>> > > ERROR: Unknown error in Assembler.  Please send the following stack
>> trace
>> > > and this message to users@openejb.apache.org :
>> > >
>> > > org.apache.xbean.recipe.ConstructionException: Error calling instance
>> > > factory method: public
>> > > org.apache.geronimo.connector.outbound.GenericConnectionManager
>> > > org.apache.openejb.resource.GeronimoConnectionManagerFactory.create()
>> > >
>> > >                 at
>> > >
>> >
>> org.apache.xbean.recipe.ObjectRecipe.internalCreate(ObjectRecipe.java:307)
>> > >
>> > >                 at
>> > > org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:96)
>> > >
>> > >                 at
>> > > org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:61)
>> > >
>> > >                 at
>> > > org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:49)
>> > >
>> > >                 at
>> > >
>> > >
>> >
>> org.apache.openejb.assembler.classic.Assembler.createResource(Assembler.java:1519)
>> > >
>> > >                 at
>> > >
>> > >
>> >
>> org.apache.openejb.assembler.classic.Assembler.buildContainerSystem(Assembler.java:396)
>> > >
>> > >                 at
>> > >
>> org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:319)
>> > >
>> > >                 at
>> > >
>> > >
>> >
>> org.eclipse.virgo.web.openejb.initializer.Activator.start(Activator.java:34)
>> > >
>> > >                 at
>> > >
>> > >
>> >
>> org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
>> > >
>> > >                 at java.security.AccessController.doPrivileged(Native
>> > > Method)
>> > >
>> > >                 at
>> > >
>> > >
>> >
>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
>> > >
>> > >                 at
>> > >
>> > >
>> >
>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
>> > >
>> > >                 at
>> > >
>> > >
>> >
>> org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
>> > >
>> > >                 at
>> > >
>> > >
>> >
>> org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:389)
>> > >
>> > >                 at
>> > >
>> > >
>> >
>> org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1131)
>> > >
>> > >                 at
>> > >
>> > >
>> >
>> org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559)
>> > >
>> > >                 at
>> > >
>> > >
>> >
>> org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544)
>> > >
>> > >                 at
>> > >
>> > >
>> >
>> org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457)
>> > >
>> > >                 at
>> > >
>> > >
>> >
>> org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
>> > >
>> > >                 at
>> > >
>> > >
>> >
>> org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438)
>> > >
>> > >                 at
>> > >
>> > >
>> >
>> org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1)
>> > >
>> > >                 at
>> > >
>> > >
>> >
>> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
>> > >
>> > >                 at
>> > >
>> > >
>> >
>> org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
>> > >
>> > > Caused by: org.apache.openejb.OpenEJBRuntimeException: currently
>> > > recoverable tx support (xa) needs a geronimo tx manager
>> > >
>> > >                 at
>> > >
>> > >
>> >
>> org.apache.openejb.resource.GeronimoConnectionManagerFactory.create(GeronimoConnectionManagerFactory.java:175)
>> > >
>> > >                 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>> > > Method)
>> > >
>> > >                 at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown
>> > > Source)
>> > >
>> > >                 at
>> > sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
>> > > Source)
>> > >
>> > >                 at java.lang.reflect.Method.invoke(Unknown Source)
>> > >
>> > >                 at
>> > >
>> >
>> org.apache.xbean.recipe.ObjectRecipe.internalCreate(ObjectRecipe.java:298)
>> > >                 ... 22 more
>> > >
>> > >
>> > > On Thu, Jul 5, 2012 at 5:38 PM, Romain Manni-Bucau <
>> > rmannibucau@gmail.com
>> > > >wrote:
>> > >
>> > > > just pushed a little update to mitit it to local tx manager (for the
>> > > > moment)
>> > > >
>> > > >
>> > > > can you give it a try to validate it works please?
>> > > >
>> > > > - Romain
>> > > >
>> > > >
>> > > > 2012/7/5 Romain Manni-Bucau <rmannibucau@gmail.com>
>> > > >
>> > > > > wai wait, good to know it works but as i said it needs some few
>> > > > > implementations to be really implemented ;)
>> > > > >
>> > > > > will be done tmr ;)
>> > > > >
>> > > > > for the release we speak about this mounth, maybe dblevins or
>> > > jlmonteiro
>> > > > > can give you more details
>> > > > >
>> > > > > - Romain
>> > > > >
>> > > > >
>> > > > > 2012/7/5 Borislav Kapukaranov <b.kapukaranov@gmail.com>
>> > > > >
>> > > > >> Thanks for the quick reply! You guys are the most responsive
>> > community
>> > > > >> ever
>> > > > >> :)
>> > > > >> The fix works - I've passed the failing point and it seems
to
>> work
>> > > quite
>> > > > >> well so far.
>> > > > >>
>> > > > >> Do you know in which OpenEjb released version I will be able
to
>> get
>> > > the
>> > > > >> fix?
>> > > > >>
>> > > > >> Thanks,
>> > > > >> Bobby
>> > > > >>
>> > > > >> On Thu, Jul 5, 2012 at 1:21 PM, Romain Manni-Bucau <
>> > > > rmannibucau@gmail.com
>> > > > >> >wrote:
>> > > > >>
>> > > > >> > pushed a start of work:
>> > > > >> > https://issues.apache.org/jira/browse/OPENEJB-1858
>> > > > >> >
>> > > > >> > there is a small mock part but should be fine to let
you test
>> > > > >> >
>> > > > >> > - Romain
>> > > > >> >
>> > > > >> >
>> > > > >> > 2012/7/5 Borislav Kapukaranov <b.kapukaranov@gmail.com>
>> > > > >> >
>> > > > >> > > Here it is:
>> > > > >> > >
>> > > > >> > >
>> > > > >> > > FATAL ERROR: Unknown error in Assembler.  Please
send the
>> > > following
>> > > > >> stack
>> > > > >> > > trace and this message to users@openejb.apache.org
:
>> > > > >> > >
>> > > > >> > > org.apache.xbean.recipe.ConstructionException:
Error calling
>> > > > instance
>> > > > >> > > factory method: public
>> > > > >> > >
>> org.apache.geronimo.connector.outbound.GenericConnectionManager
>> > > > >> > >
>> > > >
>> org.apache.openejb.resource.GeronimoConnectionManagerFactory.create()
>> > > > >> > >
>> > > > >> > >                 at
>> > > > >> > >
>> > > > >> >
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.xbean.recipe.ObjectRecipe.internalCreate(ObjectRecipe.java:307)
>> > > > >> > >
>> > > > >> > >                 at
>> > > > >> > >
>> > > >
>> org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:96)
>> > > > >> > >
>> > > > >> > >                 at
>> > > > >> > >
>> > > >
>> org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:61)
>> > > > >> > >
>> > > > >> > >                 at
>> > > > >> > >
>> > > >
>> org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:49)
>> > > > >> > >
>> > > > >> > >                 at
>> > > > >> > >
>> > > > >> > >
>> > > > >> >
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.openejb.assembler.classic.Assembler.createResource(Assembler.java:1519)
>> > > > >> > >
>> > > > >> > >                 at
>> > > > >> > >
>> > > > >> > >
>> > > > >> >
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.openejb.assembler.classic.Assembler.buildContainerSystem(Assembler.java:396)
>> > > > >> > >
>> > > > >> > >                 at
>> > > > >> > >
>> > > > >>
>> > >
>> org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:319)
>> > > > >> > >
>> > > > >> > >                 at
>> > > > >> > >
>> > > > >> > >
>> > > > >> >
>> > > > >>
>> > > >
>> > >
>> >
>> org.eclipse.virgo.javaee.web.openejb.initializer.Activator.start(Activator.java:34)
>> > > > >> > >
>> > > > >> > >                 at
>> > > > >> > >
>> > > > >> > >
>> > > > >> >
>> > > > >>
>> > > >
>> > >
>> >
>> org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
>> > > > >> > >
>> > > > >> > >                 at
>> > > > java.security.AccessController.doPrivileged(Native
>> > > > >> > > Method)
>> > > > >> > >
>> > > > >> > >                 at
>> > > > >> > >
>> > > > >> > >
>> > > > >> >
>> > > > >>
>> > > >
>> > >
>> >
>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
>> > > > >> > >
>> > > > >> > >                 at
>> > > > >> > >
>> > > > >> > >
>> > > > >> >
>> > > > >>
>> > > >
>> > >
>> >
>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
>> > > > >> > >
>> > > > >> > >                 at
>> > > > >> > >
>> > > > >> > >
>> > > > >> >
>> > > > >>
>> > > >
>> > >
>> >
>> org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
>> > > > >> > >
>> > > > >> > >                 at
>> > > > >> > >
>> > > > >> > >
>> > > > >> >
>> > > > >>
>> > > >
>> > >
>> >
>> org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:389)
>> > > > >> > >
>> > > > >> > >                 at
>> > > > >> > >
>> > > > >> > >
>> > > > >> >
>> > > > >>
>> > > >
>> > >
>> >
>> org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1131)
>> > > > >> > >
>> > > > >> > >                 at
>> > > > >> > >
>> > > > >> > >
>> > > > >> >
>> > > > >>
>> > > >
>> > >
>> >
>> org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559)
>> > > > >> > >
>> > > > >> > >                 at
>> > > > >> > >
>> > > > >> > >
>> > > > >> >
>> > > > >>
>> > > >
>> > >
>> >
>> org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544)
>> > > > >> > >
>> > > > >> > >                 at
>> > > > >> > >
>> > > > >> > >
>> > > > >> >
>> > > > >>
>> > > >
>> > >
>> >
>> org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457)
>> > > > >> > >
>> > > > >> > >                 at
>> > > > >> > >
>> > > > >> > >
>> > > > >> >
>> > > > >>
>> > > >
>> > >
>> >
>> org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
>> > > > >> > >
>> > > > >> > >                 at
>> > > > >> > >
>> > > > >> > >
>> > > > >> >
>> > > > >>
>> > > >
>> > >
>> >
>> org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438)
>> > > > >> > >
>> > > > >> > >                 at
>> > > > >> > >
>> > > > >> > >
>> > > > >> >
>> > > > >>
>> > > >
>> > >
>> >
>> org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1)
>> > > > >> > >
>> > > > >> > >                 at
>> > > > >> > >
>> > > > >> > >
>> > > > >> >
>> > > > >>
>> > > >
>> > >
>> >
>> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
>> > > > >> > >
>> > > > >> > >                 at
>> > > > >> > >
>> > > > >> > >
>> > > > >> >
>> > > > >>
>> > > >
>> > >
>> >
>> org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
>> > > > >> > >
>> > > > >> > > Caused by: java.lang.ClassCastException:
>> > > org.objectweb.jotm.Current
>> > > > >> > cannot
>> > > > >> > > be cast to
>> > > > >> > >
>> > > >
>> org.apache.geronimo.transaction.manager.RecoverableTransactionManager
>> > > > >> > >
>> > > > >> > >                 at
>> > > > >> > >
>> > > > >> > >
>> > > > >> >
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.openejb.resource.GeronimoConnectionManagerFactory.create(GeronimoConnectionManagerFactory.java:158)
>> > > > >> > >
>> > > > >> > >                 at
>> > > > sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>> > > > >> > > Method)
>> > > > >> > >
>> > > > >> > >                 at
>> > > > sun.reflect.NativeMethodAccessorImpl.invoke(Unknown
>> > > > >> > > Source)
>> > > > >> > >
>> > > > >> > >                 at
>> > > > >> > sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
>> > > > >> > > Source)
>> > > > >> > >
>> > > > >> > >                 at java.lang.reflect.Method.invoke(Unknown
>> > Source)
>> > > > >> > >
>> > > > >> > >                 at
>> > > > >> > >
>> > > > >> >
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.xbean.recipe.ObjectRecipe.internalCreate(ObjectRecipe.java:298)
>> > > > >> > >
>> > > > >> > >                 ... 22 more
>> > > > >> > >
>> > > > >> > >
>> > > > >> > > Thanks,
>> > > > >> > >
>> > > > >> > > Bobby
>> > > > >> > >
>> > > > >> > > On Thu, Jul 5, 2012 at 12:14 PM, Romain Manni-Bucau
>> > > > >> > > <rmannibucau@gmail.com>wrote:
>> > > > >> > >
>> > > > >> > > > Hi,
>> > > > >> > > >
>> > > > >> > > > can you share the exact stack please?
>> > > > >> > > >
>> > > > >> > > > Why are you using the beta?
>> > > > >> > > >
>> > > > >> > > > - Romain
>> > > > >> > > >
>> > > > >> > > >
>> > > > >> > > > 2012/7/5 Borislav Kapukaranov <b.kapukaranov@gmail.com>
>> > > > >> > > >
>> > > > >> > > > > Hi all,
>> > > > >> > > > >
>> > > > >> > > > > I've got a question about handling of
the transaction
>> > manager
>> > > in
>> > > > >> > > > connection
>> > > > >> > > > > factories.
>> > > > >> > > > > I'm using openejb-4.0.0-beta2. In the
Assembler class ,
>> the
>> > > > >> > > > > createResource(ResourceInfo serviceInfo)
method creates a
>> > > > service
>> > > > >> out
>> > > > >> > > of
>> > > > >> > > > a
>> > > > >> > > > > service recipe.
>> > > > >> > > > > In case the service is a ResourceAdapter
it checks the
>> > > > transaction
>> > > > >> > > > manager
>> > > > >> > > > > if it is the default Geronimo one or
something else and
>> acts
>> > > > >> > > accordingly,
>> > > > >> > > > > however these checks don't exist in the
case where the
>> > service
>> > > > is
>> > > > >> a
>> > > > >> > > > > ManagedConnectionFactory.
>> > > > >> > > > > In that case I see a connectionManagerRecipe
being
>> created
>> > > with
>> > > > a
>> > > > >> > > > hardcoded
>> > > > >> > > > > reference to the default GeronimoConnectionManagerFactory
>> > > which
>> > > > >> when
>> > > > >> > > > > invoked tries to cast the transaction
manager to the
>> > Geronimo
>> > > > one.
>> > > > >> > > > > In my setup I've changed the transaction
manager to one
>> > > provided
>> > > > >> by
>> > > > >> > > JOTM
>> > > > >> > > > > and I get a ClassCast there.
>> > > > >> > > > >
>> > > > >> > > > > Can the connectionManagerRecipe initialization
be more
>> > > > >> configurable
>> > > > >> > in
>> > > > >> > > > case
>> > > > >> > > > > a user is not using the default transaction
manager?
>> > > > >> > > > >
>> > > > >> > > > > Best Regards
>> > > > >> > > > > Bobby
>> > > > >> > > > >
>> > > > >> > > >
>> > > > >> > >
>> > > > >> >
>> > > > >>
>> > > > >
>> > > > >
>> > > >
>> > >
>> >
>>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message