Hi Richard, I recommend using the "EXTERNAL" datasource configuration with Ode and looking up the DataSource using JNDI. This way, Ode will use the JBI container's transaction manager (which is always preferable) and the same transaction manager will manage the datasource.
In ode-jbi.properties, this would correspond to: ode-jbi.db.mode=EXTERNAL ode-jbi.db.ext.dataSource=java:comp/env/jdbc/ode (you can configure this string to match your datasource alex On Wed, Jun 11, 2008 at 2:12 AM, <[EMAIL PROTECTED]> wrote: > hello, > > I have tried to deploy on two JBI implementations your 1.2RC1 version > (found > on > > http://people.apache.org/~mriou/ode-1.2RC1/org/apache/ode/apache-ode-jbi/1.2 > RC1/<http://people.apache.org/%7Emriou/ode-1.2RC1/org/apache/ode/apache-ode-jbi/1.2RC1/> > ) > I play with ServiceMix-3.2.1 and PetALS-2.1.1.1 versions. > > With ServiceMix, there is no major problem : I copy the two SM components > servicemix-shared-3.2.1-installer.zip and > servicemix-http-3.2.1-installer.zip in the ServiceMix 'hotdeploy' > directory. > Then I copy the ODE ZIP SE ode-jbi-1.2RC1.zip and the example > HelloWorld2-sa.zip. finally I run the client test with Ant, and I obtain > the > good message in return of the process invocation. So with ServiceMix all is > OK. > > With PEtALS, unfortunatly when I deploy the ZIP SE component (file > ode-jbi-1.2RC1.zip), that fails at installation-time with an error message > : > > [petals.InstallationService] InstallationServiceImpl.loadNewInstaller() > Component succesfully installed: OdeBpelEngine > 10:30:06,406 ERROR OdeLifeCycle:178 - Database configuration error. > java.lang.RuntimeException: TransactionManager is not recoverable. > at > org.apache.ode.il.dbutil.Database.initInternalDb(Database.java:179) > at > org.apache.ode.il.dbutil.Database.initEmbeddedDb(Database.java:232) > at > org.apache.ode.il.dbutil.Database.initDataSource(Database.java:147) > at org.apache.ode.il.dbutil.Database.start(Database.java:99) > at > org.apache.ode.jbi.OdeLifeCycle.initDataSource(OdeLifeCycle.java:175) > at org.apache.ode.jbi.OdeLifeCycle.init(OdeLifeCycle.java:113) > at > > org.ow2.petals.container.thread.ComponentLifeCycleThread.doTask(ComponentLif > eCycleThread.java:101) > at > org.ow2.petals.container.thread.AbstractThread.run(AbstractThread.java:106) > > > I have a bit analyse ODE sources and I don't understand why the transaction > manager, instancied from the JBI context (getTransactionManager) should be > an instance of 'RecoverableTransactionManager' (=a class of geronimo jar > not > known of PEtALS). I think there is a suspicious dependancy with ServiceMix > in this part of the code. > > Matthieu, in a previous mail you said that it may that I use an "external > transaction manager". How is it possible as I don't touch anything in the > ODE configuration (I use the embedded Derby database) ? Could you develop > this idea ? > > Besides, I use Java6 with ODE. Is it correct ? (I read somewhere that ODE > only supports Java5 but I'm not sure) > > > Thanks for your help. > > Richard. > > PS: > For information, the PEtALS release I use has successfully passed in March > 2008 the JBI compatibility test suite (JBI TCK). >
