You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-user@db.apache.org by Andreas Bohnert <oj...@weberhofer.at> on 2006/10/13 09:17:29 UTC

Does OJB supports Geronimo?

hi,

I wonder if OJB supports Geronimo. I haven't found an TransactionManager
in /org/apache/ojb/broker/transaction/tm, also I haven't found any
geronimo topics in the mailing list or the documentation.

Are there any Geronimo users here?

I try to migrate from jboss to geronimo, but now I'm doubtful, if I will
be sucessful, if there is no transactionmager to use ...

Thanks for your help,
andreas


---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


Re: Does OJB supports Geronimo?

Posted by Andreas Bohnert <oj...@weberhofer.at>.
hello armin,

sorry for the late reply and thank you for your help!
I  had to skip the managed transactions and use the normal
PersistenceBrokerImpl.
However I have tried your suggestion and failed
got a: org.apache.ojb.broker.PBFactoryException: Can't instantiate
TransactionManager of managed environment
with not further details.

andreas

Armin Waibel schrieb:
> Hi Andreas,
>
> Andreas Bohnert wrote:
>> hi,
>>
>> I wonder if OJB supports Geronimo. I haven't found an TransactionManager
>> in /org/apache/ojb/broker/transaction/tm, also I haven't found any
>> geronimo topics in the mailing list or the documentation.
>>
>> Are there any Geronimo users here?
>>
>> I try to migrate from jboss to geronimo, but now I'm doubtful, if I will
>> be sucessful, if there is no transactionmager to use ...
>>
>
> Sorry Geronimo support is on my todo-list, but it slipped my mind.
>
> To implement the TransactionManagerFactory I this document about
> JBoss/Hibernate migration (scroll down to
> GeronimoTransactionManagerLookup)
> http://cwiki.apache.org/GMOxDOC10/jboss-to-geronimo-hibernate-migration.html
>
>
> The OJB version (compatible with current sources) will look like this:
>
> public class GeronimoTransactionManagerFactory implements
> TransactionManagerFactory
> {
>     public static final String
> TransactionMgrGBeanName="geronimo.server:J2EEApplication=null," +
>
> "J2EEModule=geronimo/j2ee-server/1.0/car,J2EEServer=geronimo,j2eeType=TransactionManager,"
> +
>             "name=TransactionManager";
>
>     private TransactionManager tm;
>
>     public TransactionManager getTransactionManager() throws
> TransactionManagerFactoryException
>     {
>         if(tm == null)
>         {
>             tm = lookupManager();
>         }
>         return tm;
>     }
>
>     private TransactionManager lookupManager() throws
> TransactionManagerFactoryException
>     {
>         try
>         {
>             Class kernelClass =
> ClassHelper.getClass("org.apache.geronimo.kernel.Kernel");
>             Class kernelRegistryClass =
> ClassHelper.getClass("org.apache.geronimo.kernel.KernelRegistry");
>             Class proxyManagerClass =
> ClassHelper.getClass("org.apache.geronimo.kernel.proxy.ProxyManager");
>             Class objectNameClass =
> ClassHelper.getClass("javax.management.ObjectName");
>
>             Object transactionManagerName = ClassHelper.newInstance(
>                     objectNameClass, String.class,
> TransactionMgrGBeanName);
>             Object kernel =
> kernelRegistryClass.getMethod("getSingleKernel", null).invoke(null,
> null);
>             Object proxyManager =
> kernelClass.getMethod("getProxyManager", null).invoke(kernel, null);
>             Class[] clzArray = {objectNameClass, Class.class};
>             Object[] objArray = {transactionManagerName,
> TransactionManager.class};
>             return (TransactionManager)
> proxyManagerClass.getMethod("createProxy", clzArray)
>                     .invoke(proxyManager, objArray);
>
>         }
>         catch(Exception e)
>         {
>             throw new TransactionManagerFactoryException("Geronimo
> Transaction Manager Lookup Failed", e);
>         }
>     }
> }
>
> It would be great if you could check this class.
>
> regards,
> Armin
>
>
>> Thanks for your help,
>> andreas
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>> For additional commands, e-mail: ojb-user-help@db.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


Re: Does OJB supports Geronimo?

Posted by Armin Waibel <ar...@apache.org>.
Hi Andreas,

Andreas Bohnert wrote:
> hi,
> 
> I wonder if OJB supports Geronimo. I haven't found an TransactionManager
> in /org/apache/ojb/broker/transaction/tm, also I haven't found any
> geronimo topics in the mailing list or the documentation.
> 
> Are there any Geronimo users here?
> 
> I try to migrate from jboss to geronimo, but now I'm doubtful, if I will
> be sucessful, if there is no transactionmager to use ...
>

Sorry Geronimo support is on my todo-list, but it slipped my mind.

To implement the TransactionManagerFactory I this document about 
JBoss/Hibernate migration (scroll down to GeronimoTransactionManagerLookup)
http://cwiki.apache.org/GMOxDOC10/jboss-to-geronimo-hibernate-migration.html

The OJB version (compatible with current sources) will look like this:

public class GeronimoTransactionManagerFactory implements 
TransactionManagerFactory
{
     public static final String 
TransactionMgrGBeanName="geronimo.server:J2EEApplication=null," +
 
"J2EEModule=geronimo/j2ee-server/1.0/car,J2EEServer=geronimo,j2eeType=TransactionManager," 
+
             "name=TransactionManager";

     private TransactionManager tm;

     public TransactionManager getTransactionManager() throws 
TransactionManagerFactoryException
     {
         if(tm == null)
         {
             tm = lookupManager();
         }
         return tm;
     }

     private TransactionManager lookupManager() throws 
TransactionManagerFactoryException
     {
         try
         {
             Class kernelClass = 
ClassHelper.getClass("org.apache.geronimo.kernel.Kernel");
             Class kernelRegistryClass = 
ClassHelper.getClass("org.apache.geronimo.kernel.KernelRegistry");
             Class proxyManagerClass = 
ClassHelper.getClass("org.apache.geronimo.kernel.proxy.ProxyManager");
             Class objectNameClass = 
ClassHelper.getClass("javax.management.ObjectName");

             Object transactionManagerName = ClassHelper.newInstance(
                     objectNameClass, String.class, 
TransactionMgrGBeanName);
             Object kernel = 
kernelRegistryClass.getMethod("getSingleKernel", null).invoke(null, null);
             Object proxyManager = 
kernelClass.getMethod("getProxyManager", null).invoke(kernel, null);
             Class[] clzArray = {objectNameClass, Class.class};
             Object[] objArray = {transactionManagerName, 
TransactionManager.class};
             return (TransactionManager) 
proxyManagerClass.getMethod("createProxy", clzArray)
                     .invoke(proxyManager, objArray);

         }
         catch(Exception e)
         {
             throw new TransactionManagerFactoryException("Geronimo 
Transaction Manager Lookup Failed", e);
         }
     }
}

It would be great if you could check this class.

regards,
Armin


> Thanks for your help,
> andreas
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org