ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Boisvert" <boisv...@intalio.com>
Subject Re: ODE with the JBI container's transaction manager
Date Mon, 16 Jun 2008 16:47:43 GMT
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)


On Mon, Jun 16, 2008 at 8:07 AM, <richard.aillet@fr.thalesgroup.com> 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.

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message