Hi Richard, Would you mind trying the patch I've attached to ODE-302 and see how it goes with Petals/OpenESB?
alex On Mon, Jun 16, 2008 at 9:47 AM, Alex Boisvert <[EMAIL PROTECTED]> wrote: > Hi Richard, > > There are two issues here, > > 1) Your JBI container should provide a way to configure and lookup > DataSources through JNDI. This is part of the JBI spec (see > ComponentContext#getNamingContext). It's also consequent to the fact that a > TransactionManager is provided by the JBI container. The > TransactionManager is practically useless if the container does not provide > managed access to resources (JDBC DataSource, JMS ManagedConnection, etc.) > > 2) Ode should not use the TransactionManager provided by the JBI container > in EMBEDDED and INTERNAL database modes since it creates its own DataSource > which are not under the responsibility of the container's > TransactionManager. This happened to work with ServiceMix since it uses > the same TransactionManager implementation (Geronimo's), but it's not > something we can assume in other JBI environments. I've created issue > ODE-302 to track this (http://issues.apache.org/jira/browse/ODE-302) > > alex > > > > On Mon, Jun 16, 2008 at 8:07 AM, <[EMAIL PROTECTED]> > wrote: > >> >> I desesperatly try to deploy ODE 1.2RC1 on JBI implementations (other than >> ServiceMix) like PEtALS or openESB. But in all cases I have an error of >> TransactionManager. >> >> For example with PEtALS when I use the INTERNAL DB mode, I have the error >> : >> [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) >> >> Unlike the recommendation of the mailing-list, I can't use the DB mode >> EXTERNAL to force ODE use the JBI container's transaction manager as I >> don't >> have any application server in my architecture (no way to register the >> datasource in a JNDI register) >> >> So how can I force ODE to use the JBI container's transaction manager w/o >> application server (and JNDI register) ? >> Must I use an external JNDI register ? Which one ? In PEtALS or openESB, >> there is no one. >> >> In your opinion, is it normal that ODE raises this error in EMBEDDED DB >> mode >> or is there a classloader issues in ODE ? >> >> Thanks. >> Richard. >> >> >
