Hi Viola,

Without seeing your gbean I don't know what's wrong.  I'd guess you didn't get 
the bittronix tm wrapper to implement RecoverableTransactionManager.

Looking at Bittronix I see it implements not only the tm but non-j2ca 
connection pooling so I'd guess you'd have to replace the connector framework 
too in order to get recovery, and possibly anything, to work.

I think this replacement is a pretty big project that will result in reduced 
functionality.... why is this a useful project?

thanks
david jencks
 
On Aug 30, 2011, at 12:24 AM, viola lu wrote:

> The error i got is as below:
> 
> 2011-08-30 10:40:42,484 INFO  [KernelContextGBean] bound gbean 
> org.apache.geronimo.configs/transaction/2.1.5/car?ServiceModule=org.apache.geronimo.configs/transaction/2.1.5/car,j2eeType=Context,name=ResourceBindings
>  at name jca:
> 2011-08-30 10:40:43,390 WARN  [GBeanInstance] Constructor mismatch for 
> org.apache.geronimo.configs/system-database/2.1.5/car?J2EEApplication=null,JCAConnectionFactory=SystemDatasource,JCAManagedConnectionFactory=SystemDatasource,JCAResource=org.apache.geronimo.configs/system-database/2.1.5/car,ResourceAdapter=org.apache.geronimo.configs/system-database/2.1.5/car,ResourceAdapterModule=org.apache.geronimo.configs/system-database/2.1.5/car,j2eeType=JCAConnectionManager,name=SystemDatasource
> java.lang.IllegalArgumentException: argument type mismatch
>       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>       at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>       at java.lang.reflect.Constructor.newInstance(Constructor.java:501)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:948)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:268)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:555)
>       at 
> org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379)
>       at 
> org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:456)
>       at 
> org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:188)
>       at 
> org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:563)
>       at sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:592)
>       at 
> org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:34)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:124)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:832)
>       at 
> org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
>       at 
> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
>       at 
> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
>       at 
> org.apache.geronimo.kernel.config.EditableConfigurationManager$$EnhancerByCGLIB$$1d5c1b9.startConfiguration(<generated>)
>       at 
> org.apache.geronimo.system.main.EmbeddedDaemon.doStartup(EmbeddedDaemon.java:206)
>       at 
> org.apache.geronimo.system.main.EmbeddedDaemon.execute(EmbeddedDaemon.java:89)
>       at 
> org.apache.geronimo.kernel.util.MainConfigurationBootstrapper.main(MainConfigurationBootstrapper.java:45)
>       at org.apache.geronimo.cli.AbstractCLI.executeMain(AbstractCLI.java:67)
>       at org.apache.geronimo.cli.daemon.DaemonCLI.main(DaemonCLI.java:30)
> 2011-08-30 10:40:43,390 ERROR [GBeanInstanceState] Error while starting; 
> GBean is now in the FAILED state: 
> abstractName="org.apache.geronimo.configs/system-database/2.1.5/car?J2EEApplication=null,JCAConnectionFactory=SystemDatasource,JCAManagedConnectionFactory=SystemDatasource,JCAResource=org.apache.geronimo.configs/system-database/2.1.5/car,ResourceAdapter=org.apache.geronimo.configs/system-database/2.1.5/car,ResourceAdapterModule=org.apache.geronimo.configs/system-database/2.1.5/car,j2eeType=JCAConnectionManager,name=SystemDatasource"
> java.lang.IllegalArgumentException: argument type mismatch
>       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>       at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>       at java.lang.reflect.Constructor.newInstance(Constructor.java:501)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:948)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:268)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:555)
>       at 
> org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379)
>       at 
> org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:456)
>       at 
> org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:188)
>       at 
> org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:563)
>       at sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:592)
>       at 
> org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:34)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:124)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:832)
>       at 
> org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
>       at 
> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
>       at 
> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
>       at 
> org.apache.geronimo.kernel.config.EditableConfigurationManager$$EnhancerByCGLIB$$1d5c1b9.startConfiguration(<generated>)
>       at 
> org.apache.geronimo.system.main.EmbeddedDaemon.doStartup(EmbeddedDaemon.java:206)
>       at 
> org.apache.geronimo.system.main.EmbeddedDaemon.execute(EmbeddedDaemon.java:89)
>       at 
> org.apache.geronimo.kernel.util.MainConfigurationBootstrapper.main(MainConfigurationBootstrapper.java:45)
>       at org.apache.geronimo.cli.AbstractCLI.executeMain(AbstractCLI.java:67)
>       at org.apache.geronimo.cli.daemon.DaemonCLI.main(DaemonCLI.java:30)
> 2011-08-30 10:40:43,437 WARN  [GBeanInstance] Constructor mismatch for 
> org.apache.geronimo.configs/system-database/2.1.5/car?J2EEApplication=null,JCAConnectionFactory=NoTxDatasource,JCAManagedConnectionFactory=NoTxDatasource,JCAResource=org.apache.geronimo.configs/system-database/2.1.5/car,ResourceAdapter=org.apache.geronimo.configs/system-database/2.1.5/car,ResourceAdapterModule=org.apache.geronimo.configs/system-database/2.1.5/car,j2eeType=JCAConnectionManager,name=NoTxDatasource
> java.lang.IllegalArgumentException: argument type mismatch
>       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>       at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>       at java.lang.reflect.Constructor.newInstance(Constructor.java:501)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:948)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:268)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:555)
>       at 
> org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379)
>       at 
> org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:456)
>       at 
> org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:188)
>       at 
> org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:563)
>       at sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:592)
>       at 
> org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:34)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:124)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:832)
>       at 
> org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
>       at 
> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
>       at 
> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
>       at 
> org.apache.geronimo.kernel.config.EditableConfigurationManager$$EnhancerByCGLIB$$1d5c1b9.startConfiguration(<generated>)
>       at 
> org.apache.geronimo.system.main.EmbeddedDaemon.doStartup(EmbeddedDaemon.java:206)
>       at 
> org.apache.geronimo.system.main.EmbeddedDaemon.execute(EmbeddedDaemon.java:89)
>       at 
> org.apache.geronimo.kernel.util.MainConfigurationBootstrapper.main(MainConfigurationBootstrapper.java:45)
>       at org.apache.geronimo.cli.AbstractCLI.executeMain(AbstractCLI.java:67)
>       at org.apache.geronimo.cli.daemon.DaemonCLI.main(DaemonCLI.java:30)
> 2011-08-30 10:40:43,484 ERROR [GBeanInstanceState] Error while starting; 
> GBean is now in the FAILED state: 
> abstractName="org.apache.geronimo.configs/system-database/2.1.5/car?J2EEApplication=null,JCAConnectionFactory=NoTxDatasource,JCAManagedConnectionFactory=NoTxDatasource,JCAResource=org.apache.geronimo.configs/system-database/2.1.5/car,ResourceAdapter=org.apache.geronimo.configs/system-database/2.1.5/car,ResourceAdapterModule=org.apache.geronimo.configs/system-database/2.1.5/car,j2eeType=JCAConnectionManager,name=NoTxDatasource"
> java.lang.IllegalArgumentException: argument type mismatch
>       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>       at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>       at java.lang.reflect.Constructor.newInstance(Constructor.java:501)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:948)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:268)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:555)
>       at 
> org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379)
>       at 
> org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:456)
>       at 
> org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:188)
>       at 
> org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:563)
>       at sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:592)
>       at 
> org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:34)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:124)
>       at 
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:832)
>       at 
> org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
>       at 
> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
>       at 
> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
>       at 
> org.apache.geronimo.kernel.config.EditableConfigurationManager$$EnhancerByCGLIB$$1d5c1b9.startConfiguration(<generated>)
>       at 
> org.apache.geronimo.system.main.EmbeddedDaemon.doStartup(EmbeddedDaemon.java:206)
>       at 
> org.apache.geronimo.system.main.EmbeddedDaemon.execute(EmbeddedDaemon.java:89)
>       at 
> org.apache.geronimo.kernel.util.MainConfigurationBootstrapper.main(MainConfigurationBootstrapper.java:45)
>       at org.apache.geronimo.cli.AbstractCLI.executeMain(AbstractCLI.java:67)
>       at org.apache.geronimo.cli.daemon.DaemonCLI.main(DaemonCLI.java:30)
> 
> About Bitronix Transaction Manager,  you can get some information from  
> http://docs.codehaus.org/display/BTM/Home
> 
> If ignoring transaction recovery, how to make it work? Thanks in advance!
> 
> On Tue, Aug 30, 2011 at 2:38 PM, David Jencks <[email protected]> wrote:
> 
> On Aug 29, 2011, at 8:00 PM, viola lu wrote:
> 
> > If we would like use third-party TransactionManager such as Bitronix 
> > TransactionManger  instead of geronimo default transaction manger 
> > implementation, and  Hibernate as their persistence layer. It's better if 
> > third-party TransactionManger can be initialized in Application context,
> >
> >  But can we replace geronimo default transaction manger with a third-party  
> > on geronimo 2.1.5? I tried to create BitronixTransactionMangerGBean , 
> > BitronixTransactionSynchronizationRegistryGBean and change 
> > TransactionManger gbean defintion in  transaction plugins plan.xml , but 
> > server failed to start coz of  JCA ,system-database start failure, i think 
> > it's difficult to replace geronimo transaction manager.
> 
> What's the error?
> 
> Do you care about transaction recovery?  IMO how recovery is initiated is not 
> well specified in the spec and I rather doubt other transaction managers do 
> exactly as the geronimo one does.  However with enough information on what 
> the tm expects we should be able to get it to work.  Ignoring recovery should 
> make the problem simpler.
> >
> >  or Bind the third-party TransactoinManger into our jndi tree with another 
> > different name 
> > (java:bintronixmanager,java:comp/env/BintronixUserTransaction, end-user can 
> > lookup it in its application code, but when build PersitenceUnitGBean , its 
> > reference TransactionManager  refers to TransactionManagerImpl (geronimo 
> > default transaction manger).
> 
> I don't recommend this.
> 
> thanks
> david jencks
> 
> >
> >  Is there other way to make this happen?  I
> >
> > Appreciate your help!
> >
> >
> > --
> > viola
> >
> > Apache Geronimo
> >
> 
> 
> 
> 
> -- 
> viola
> 
> Apache Geronimo
> 

Reply via email to