Hi,

I've compiled ode trunk and deployed it successfully to ServiceMix 4.3 and 4.4 on Linux. I'm using PostgreSQL as the database - I added an OSGi fragment to pull in the dependency on org.tranql.connector.postgresql.

With SMX 4.4 on Windows, using the same bundle binaries and org.apache.ode.jbi.cfg, ode is trying to use the internal derby database for some reason. Here's my config file:

###################
# C:\ServiceMix44\etc\org.apache.ode.jbi.cfg
ode-jbi.db.mode=INTERNAL

ode-jbi.db.int.mcf=org.tranql.connector.postgresql.PGXAMCF
ode-jbi.db.int.mcf.databaseName=odedev
ode-jbi.db.int.mcf.userName=ode
ode-jbi.db.int.mcf.password=XXXXXXX
ode-jbi.db.int.mcf.serverName=w.x.y.z

# Default is to use JPA (org.apache.ode.dao.jpa.BPELDAOConnectionFactoryImpl)
# http://ode.apache.org/smx4-osgi-deployment.html recommends using
# (older) Hibernate code instead
ode-jbi.dao.factory=org.apache.ode.daohib.bpel.BpelDAOConnectionFactoryImpl

ode-jbi.event.listeners=org.apache.ode.bpel.common.evt.DebugBpelEventListener
###################

The properties show up in config:list on the ServiceMix console:

----------------------------------------------------------------
Pid:            org.apache.ode.jbi
BundleLocation: file:/C:/ServiceMix44/deploy/ode-jbi-bundle-1.4-SNAPSHOT.jar
Properties:
ode-jbi.event.listeners = org.apache.ode.bpel.common.evt.DebugBpelEventListener
   ode-jbi.db.mode = INTERNAL
   service.pid = org.apache.ode.jbi
felix.fileinstall.filename = file:/C:/ServiceMix44/etc/org.apache.ode.jbi.cfg ode-jbi.dao.factory = org.apache.ode.daohib.bpel.BpelDAOConnectionFactoryImpl
   ode-jbi.db.int.mcf = org.tranql.connector.postgresql.PGXAMCF
   ode-jbi.db.int.mcf.userName = ode
   ode-jbi.db.int.mcf.password = XXXXXXX
   ode-jbi.db.int.mcf.databaseName = odedev
   ode-jbi.db.int.mcf.serverName = w.x.y.z
----------------------------------------------------------------

Below is a snippet from the logs showing ODE trying to use Derby instead of PostgreSQL. Any ideas where to look next? I'm new to ODE and ServiceMix, and troubleshooting anything under Windows feels like breathing underwater.

2011-08-12 18:37:27,697 DEBUG [SpringOsgiExtenderThread-20] (TempFileManager.java:113) - Setting base working directory: C:\ServiceMix44\data\jbi\OdeBpelEngine\workspace 2011-08-12 18:37:27,697 DEBUG [SpringOsgiExtenderThread-20] (OdeLifeCycle.java:118) - Applying properties. 2011-08-12 18:37:27,713 DEBUG [SpringOsgiExtenderThread-20] (OdeLifeCycle.java:122) - Initializing message mappers. 2011-08-12 18:37:27,713 DEBUG [SpringOsgiExtenderThread-20] (OdeLifeCycle.java:125) - Creating data source. 2011-08-12 18:37:27,713 INFO [SpringOsgiExtenderThread-20] (InternalDB.java:101) - ODE using internal database "jdbc:derby://localhost/ode" with driver org.apache.derby.jdbc.ClientDriver. 2011-08-12 18:37:27,713 DEBUG [SpringOsgiExtenderThread-20] (InternalDB.java:108) - Creating connection pool for jdbc:derby://localhost/ode with driver org.apache.derby.jdbc.ClientDriver 2011-08-12 18:37:27,713 ERROR [SpringOsgiExtenderThread-20] (OdeLifeCycle.java:191) - Database configuration error.
java.lang.RuntimeException: TransactionManager is not recoverable.
at org.apache.ode.il.dbutil.InternalDB.initInternalDb(InternalDB.java:110)[247:org.apache.ode.ode-jbi-bundle:1.4.0.SNAPSHOT] at org.apache.ode.il.dbutil.InternalDB.initDataSource(InternalDB.java:102)[247:org.apache.ode.ode-jbi-bundle:1.4.0.SNAPSHOT] at org.apache.ode.il.dbutil.InternalDB.start(InternalDB.java:61)[247:org.apache.ode.ode-jbi-bundle:1.4.0.SNAPSHOT] at org.apache.ode.jbi.OdeLifeCycle.initDataSource(OdeLifeCycle.java:188)[247:org.apache.ode.ode-jbi-bundle:1.4.0.SNAPSHOT] at org.apache.ode.jbi.OdeLifeCycle.init(OdeLifeCycle.java:126)[247:org.apache.ode.ode-jbi-bundle:1.4.0.SNAPSHOT] at org.apache.servicemix.jbi.deployer.artifacts.ComponentImpl$ComponentWrapper.init(ComponentImpl.java:247)[145:org.apache.servicemix.jbi.deployer:1.5.0.fuse-00-43]


Thanks,
Mike

Reply via email to