tomee-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Borislav Kapukaranov <b.kapukara...@gmail.com>
Subject Re: OpenEjb transaction manager recipe
Date Fri, 06 Jul 2012 15:21:03 GMT
Setting the transaction support to local removed the error - thanks! :)

On Fri, Jul 6, 2012 at 3:34 PM, Romain Manni-Bucau <rmannibucau@gmail.com>wrote:

> 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