OpenEjb transaction manager recipe

classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

OpenEjb transaction manager recipe

Borislav Kapukaranov
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
Reply | Threaded
Open this post in threaded view
|

Re: OpenEjb transaction manager recipe

Romain Manni-Bucau
Hi,

can you share the exact stack please?

Why are you using the beta?

- Romain


2012/7/5 Borislav Kapukaranov <[hidden email]>

> 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
>
Reply | Threaded
Open this post in threaded view
|

Re: OpenEjb transaction manager recipe

Borislav Kapukaranov
Here it is:


FATAL ERROR: Unknown error in Assembler.  Please send the following stack
trace and this message to [hidden email] :

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

> Hi,
>
> can you share the exact stack please?
>
> Why are you using the beta?
>
> - Romain
>
>
> 2012/7/5 Borislav Kapukaranov <[hidden email]>
>
> > 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
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: OpenEjb transaction manager recipe

Romain Manni-Bucau
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 <[hidden email]>

> Here it is:
>
>
> FATAL ERROR: Unknown error in Assembler.  Please send the following stack
> trace and this message to [hidden email] :
>
> 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
> <[hidden email]>wrote:
>
> > Hi,
> >
> > can you share the exact stack please?
> >
> > Why are you using the beta?
> >
> > - Romain
> >
> >
> > 2012/7/5 Borislav Kapukaranov <[hidden email]>
> >
> > > 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
> > >
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: OpenEjb transaction manager recipe

Borislav Kapukaranov
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 <[hidden email]>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 <[hidden email]>
>
> > Here it is:
> >
> >
> > FATAL ERROR: Unknown error in Assembler.  Please send the following stack
> > trace and this message to [hidden email] :
> >
> > 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
> > <[hidden email]>wrote:
> >
> > > Hi,
> > >
> > > can you share the exact stack please?
> > >
> > > Why are you using the beta?
> > >
> > > - Romain
> > >
> > >
> > > 2012/7/5 Borislav Kapukaranov <[hidden email]>
> > >
> > > > 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
> > > >
> > >
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: OpenEjb transaction manager recipe

Romain Manni-Bucau
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 <[hidden email]>

> 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 <[hidden email]
> >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 <[hidden email]>
> >
> > > Here it is:
> > >
> > >
> > > FATAL ERROR: Unknown error in Assembler.  Please send the following
> stack
> > > trace and this message to [hidden email] :
> > >
> > > 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
> > > <[hidden email]>wrote:
> > >
> > > > Hi,
> > > >
> > > > can you share the exact stack please?
> > > >
> > > > Why are you using the beta?
> > > >
> > > > - Romain
> > > >
> > > >
> > > > 2012/7/5 Borislav Kapukaranov <[hidden email]>
> > > >
> > > > > 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
> > > > >
> > > >
> > >
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: OpenEjb transaction manager recipe

Romain Manni-Bucau
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 <[hidden email]>

> 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 <[hidden email]>
>
>> 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 <[hidden email]
>> >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 <[hidden email]>
>> >
>> > > Here it is:
>> > >
>> > >
>> > > FATAL ERROR: Unknown error in Assembler.  Please send the following
>> stack
>> > > trace and this message to [hidden email] :
>> > >
>> > > 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
>> > > <[hidden email]>wrote:
>> > >
>> > > > Hi,
>> > > >
>> > > > can you share the exact stack please?
>> > > >
>> > > > Why are you using the beta?
>> > > >
>> > > > - Romain
>> > > >
>> > > >
>> > > > 2012/7/5 Borislav Kapukaranov <[hidden email]>
>> > > >
>> > > > > 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
>> > > > >
>> > > >
>> > >
>> >
>>
>
>
Reply | Threaded
Open this post in threaded view
|

Re: OpenEjb transaction manager recipe

Borislav Kapukaranov
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 [hidden email] :

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 <[hidden email]>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 <[hidden email]>
>
> > 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 <[hidden email]>
> >
> >> 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 <
> [hidden email]
> >> >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 <[hidden email]>
> >> >
> >> > > Here it is:
> >> > >
> >> > >
> >> > > FATAL ERROR: Unknown error in Assembler.  Please send the following
> >> stack
> >> > > trace and this message to [hidden email] :
> >> > >
> >> > > 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
> >> > > <[hidden email]>wrote:
> >> > >
> >> > > > Hi,
> >> > > >
> >> > > > can you share the exact stack please?
> >> > > >
> >> > > > Why are you using the beta?
> >> > > >
> >> > > > - Romain
> >> > > >
> >> > > >
> >> > > > 2012/7/5 Borislav Kapukaranov <[hidden email]>
> >> > > >
> >> > > > > 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
> >> > > > >
> >> > > >
> >> > >
> >> >
> >>
> >
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: OpenEjb transaction manager recipe

Romain Manni-Bucau
your tx manager is an XA one?

- Romain


2012/7/6 Borislav Kapukaranov <[hidden email]>

> 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 [hidden email] :
>
> 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 <[hidden email]
> >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 <[hidden email]>
> >
> > > 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 <[hidden email]>
> > >
> > >> 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 <
> > [hidden email]
> > >> >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 <[hidden email]>
> > >> >
> > >> > > Here it is:
> > >> > >
> > >> > >
> > >> > > FATAL ERROR: Unknown error in Assembler.  Please send the
> following
> > >> stack
> > >> > > trace and this message to [hidden email] :
> > >> > >
> > >> > > 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
> > >> > > <[hidden email]>wrote:
> > >> > >
> > >> > > > Hi,
> > >> > > >
> > >> > > > can you share the exact stack please?
> > >> > > >
> > >> > > > Why are you using the beta?
> > >> > > >
> > >> > > > - Romain
> > >> > > >
> > >> > > >
> > >> > > > 2012/7/5 Borislav Kapukaranov <[hidden email]>
> > >> > > >
> > >> > > > > 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
> > >> > > > >
> > >> > > >
> > >> > >
> > >> >
> > >>
> > >
> > >
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: OpenEjb transaction manager recipe

Borislav Kapukaranov
No, I think It's a regular one.


On Fri, Jul 6, 2012 at 1:14 PM, Romain Manni-Bucau <[hidden email]>wrote:

> your tx manager is an XA one?
>
> - Romain
>
>
> 2012/7/6 Borislav Kapukaranov <[hidden email]>
>
> > 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 [hidden email] :
> >
> > 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 <
> [hidden email]
> > >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 <[hidden email]>
> > >
> > > > 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 <[hidden email]>
> > > >
> > > >> 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 <
> > > [hidden email]
> > > >> >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 <[hidden email]>
> > > >> >
> > > >> > > Here it is:
> > > >> > >
> > > >> > >
> > > >> > > FATAL ERROR: Unknown error in Assembler.  Please send the
> > following
> > > >> stack
> > > >> > > trace and this message to [hidden email] :
> > > >> > >
> > > >> > > 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
> > > >> > > <[hidden email]>wrote:
> > > >> > >
> > > >> > > > Hi,
> > > >> > > >
> > > >> > > > can you share the exact stack please?
> > > >> > > >
> > > >> > > > Why are you using the beta?
> > > >> > > >
> > > >> > > > - Romain
> > > >> > > >
> > > >> > > >
> > > >> > > > 2012/7/5 Borislav Kapukaranov <[hidden email]>
> > > >> > > >
> > > >> > > > > 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
> > > >> > > > >
> > > >> > > >
> > > >> > >
> > > >> >
> > > >>
> > > >
> > > >
> > >
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: OpenEjb transaction manager recipe

Romain Manni-Bucau
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 <[hidden email]>

> No, I think It's a regular one.
>
>
> On Fri, Jul 6, 2012 at 1:14 PM, Romain Manni-Bucau <[hidden email]
> >wrote:
>
> > your tx manager is an XA one?
> >
> > - Romain
> >
> >
> > 2012/7/6 Borislav Kapukaranov <[hidden email]>
> >
> > > 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 [hidden email] :
> > >
> > > 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 <
> > [hidden email]
> > > >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 <[hidden email]>
> > > >
> > > > > 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 <[hidden email]>
> > > > >
> > > > >> 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 <
> > > > [hidden email]
> > > > >> >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 <[hidden email]>
> > > > >> >
> > > > >> > > Here it is:
> > > > >> > >
> > > > >> > >
> > > > >> > > FATAL ERROR: Unknown error in Assembler.  Please send the
> > > following
> > > > >> stack
> > > > >> > > trace and this message to [hidden email] :
> > > > >> > >
> > > > >> > > 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
> > > > >> > > <[hidden email]>wrote:
> > > > >> > >
> > > > >> > > > Hi,
> > > > >> > > >
> > > > >> > > > can you share the exact stack please?
> > > > >> > > >
> > > > >> > > > Why are you using the beta?
> > > > >> > > >
> > > > >> > > > - Romain
> > > > >> > > >
> > > > >> > > >
> > > > >> > > > 2012/7/5 Borislav Kapukaranov <[hidden email]>
> > > > >> > > >
> > > > >> > > > > 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
> > > > >> > > > >
> > > > >> > > >
> > > > >> > >
> > > > >> >
> > > > >>
> > > > >
> > > > >
> > > >
> > >
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: OpenEjb transaction manager recipe

Romain Manni-Bucau
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 <[hidden email]>

> 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 <[hidden email]>
>
>> No, I think It's a regular one.
>>
>>
>> On Fri, Jul 6, 2012 at 1:14 PM, Romain Manni-Bucau <[hidden email]
>> >wrote:
>>
>> > your tx manager is an XA one?
>> >
>> > - Romain
>> >
>> >
>> > 2012/7/6 Borislav Kapukaranov <[hidden email]>
>> >
>> > > 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 [hidden email] :
>> > >
>> > > 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 <
>> > [hidden email]
>> > > >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 <[hidden email]>
>> > > >
>> > > > > 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 <[hidden email]>
>> > > > >
>> > > > >> 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 <
>> > > > [hidden email]
>> > > > >> >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 <[hidden email]>
>> > > > >> >
>> > > > >> > > Here it is:
>> > > > >> > >
>> > > > >> > >
>> > > > >> > > FATAL ERROR: Unknown error in Assembler.  Please send the
>> > > following
>> > > > >> stack
>> > > > >> > > trace and this message to [hidden email] :
>> > > > >> > >
>> > > > >> > > 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
>> > > > >> > > <[hidden email]>wrote:
>> > > > >> > >
>> > > > >> > > > Hi,
>> > > > >> > > >
>> > > > >> > > > can you share the exact stack please?
>> > > > >> > > >
>> > > > >> > > > Why are you using the beta?
>> > > > >> > > >
>> > > > >> > > > - Romain
>> > > > >> > > >
>> > > > >> > > >
>> > > > >> > > > 2012/7/5 Borislav Kapukaranov <[hidden email]>
>> > > > >> > > >
>> > > > >> > > > > 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
>> > > > >> > > > >
>> > > > >> > > >
>> > > > >> > >
>> > > > >> >
>> > > > >>
>> > > > >
>> > > > >
>> > > >
>> > >
>> >
>>
>
>
Reply | Threaded
Open this post in threaded view
|

Re: OpenEjb transaction manager recipe

Borislav Kapukaranov
Setting the transaction support to local removed the error - thanks! :)

On Fri, Jul 6, 2012 at 3:34 PM, Romain Manni-Bucau <[hidden email]>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 <[hidden email]>
>
> > 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 <[hidden email]>
> >
> >> No, I think It's a regular one.
> >>
> >>
> >> On Fri, Jul 6, 2012 at 1:14 PM, Romain Manni-Bucau <
> [hidden email]
> >> >wrote:
> >>
> >> > your tx manager is an XA one?
> >> >
> >> > - Romain
> >> >
> >> >
> >> > 2012/7/6 Borislav Kapukaranov <[hidden email]>
> >> >
> >> > > 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 [hidden email] :
> >> > >
> >> > > 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 <
> >> > [hidden email]
> >> > > >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 <[hidden email]>
> >> > > >
> >> > > > > 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 <[hidden email]>
> >> > > > >
> >> > > > >> 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 <
> >> > > > [hidden email]
> >> > > > >> >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 <[hidden email]>
> >> > > > >> >
> >> > > > >> > > Here it is:
> >> > > > >> > >
> >> > > > >> > >
> >> > > > >> > > FATAL ERROR: Unknown error in Assembler.  Please send the
> >> > > following
> >> > > > >> stack
> >> > > > >> > > trace and this message to [hidden email] :
> >> > > > >> > >
> >> > > > >> > > 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
> >> > > > >> > > <[hidden email]>wrote:
> >> > > > >> > >
> >> > > > >> > > > Hi,
> >> > > > >> > > >
> >> > > > >> > > > can you share the exact stack please?
> >> > > > >> > > >
> >> > > > >> > > > Why are you using the beta?
> >> > > > >> > > >
> >> > > > >> > > > - Romain
> >> > > > >> > > >
> >> > > > >> > > >
> >> > > > >> > > > 2012/7/5 Borislav Kapukaranov <[hidden email]>
> >> > > > >> > > >
> >> > > > >> > > > > 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
> >> > > > >> > > > >
> >> > > > >> > > >
> >> > > > >> > >
> >> > > > >> >
> >> > > > >>
> >> > > > >
> >> > > > >
> >> > > >
> >> > >
> >> >
> >>
> >
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: OpenEjb transaction manager recipe

Romain Manni-Bucau
great!

- Romain


2012/7/6 Borislav Kapukaranov <[hidden email]>

> Setting the transaction support to local removed the error - thanks! :)
>
> On Fri, Jul 6, 2012 at 3:34 PM, Romain Manni-Bucau <[hidden email]
> >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 <[hidden email]>
> >
> > > 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 <[hidden email]>
> > >
> > >> No, I think It's a regular one.
> > >>
> > >>
> > >> On Fri, Jul 6, 2012 at 1:14 PM, Romain Manni-Bucau <
> > [hidden email]
> > >> >wrote:
> > >>
> > >> > your tx manager is an XA one?
> > >> >
> > >> > - Romain
> > >> >
> > >> >
> > >> > 2012/7/6 Borislav Kapukaranov <[hidden email]>
> > >> >
> > >> > > 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 [hidden email] :
> > >> > >
> > >> > > 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 <
> > >> > [hidden email]
> > >> > > >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 <[hidden email]>
> > >> > > >
> > >> > > > > 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 <[hidden email]>
> > >> > > > >
> > >> > > > >> 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 <
> > >> > > > [hidden email]
> > >> > > > >> >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 <[hidden email]>
> > >> > > > >> >
> > >> > > > >> > > Here it is:
> > >> > > > >> > >
> > >> > > > >> > >
> > >> > > > >> > > FATAL ERROR: Unknown error in Assembler.  Please send the
> > >> > > following
> > >> > > > >> stack
> > >> > > > >> > > trace and this message to [hidden email] :
> > >> > > > >> > >
> > >> > > > >> > > 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
> > >> > > > >> > > <[hidden email]>wrote:
> > >> > > > >> > >
> > >> > > > >> > > > Hi,
> > >> > > > >> > > >
> > >> > > > >> > > > can you share the exact stack please?
> > >> > > > >> > > >
> > >> > > > >> > > > Why are you using the beta?
> > >> > > > >> > > >
> > >> > > > >> > > > - Romain
> > >> > > > >> > > >
> > >> > > > >> > > >
> > >> > > > >> > > > 2012/7/5 Borislav Kapukaranov <[hidden email]
> >
> > >> > > > >> > > >
> > >> > > > >> > > > > 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
> > >> > > > >> > > > >
> > >> > > > >> > > >
> > >> > > > >> > >
> > >> > > > >> >
> > >> > > > >>
> > >> > > > >
> > >> > > > >
> > >> > > >
> > >> > >
> > >> >
> > >>
> > >
> > >
> >
>