Hi Abdulkadir,
Thanks, that did it! Strange, the MCF properties (using tranql) worked
on Linux, but not Windows. Also, I haven't added a dependency on
org.postgresql to the ODE bundle, so it's odd that it's not throwing
ClassNotFoundExceptions. I'll have to take a closer look later, but for
now I'll count my blessings.
################
ode-jbi.allowIncompleteDeployment=false
ode-jbi.db.mode=INTERNAL
ode-jbi.db.int.jdbcurl=jdbc:postgresql://w.x.y.z:5432/odedev
ode-jbi.db.int.driver=org.postgresql.Driver
ode-jbi.db.int.username=ode
ode-jbi.db.int.password=XXXXXXX
# Old settings, don't work on Windows
#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.DebugBpelEventListene
#################
Mike
On 11-08-13 06:55 PM, abdulkadir yaman wrote:
Hi Michael,
Could you please take a look at
http://abdulkadiryaman.blogspot.com/2011/07/servicemix-43-ode-backed-by-mysql.html?m=1and
tell me if this one is what you are looking for?
On Aug 14, 2011 1:24 AM, "Michael Smith"<[email protected]> wrote:
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