I'm trying to find a combination of DAO/DB where my simple process will
run without lock exceptions or errors killing my process instance.
This current attempt is Hibernate DAO with oracle (inside tomcat 6.0.18)
During startup things look ok:
3594 [main] INFO org.hibernate.transaction.TransactionFactoryFactory -
Transaction strategy: org.hibernate.transaction.JTATransactionFactory
3594 [main] INFO org.hibernate.util.NamingHelper - JNDI InitialContext
properties:{}
3609 [main] INFO
org.hibernate.transaction.TransactionManagerLookupFactory -
instantiating TransactionManagerLookup:
org.apache.ode.daohib.HibernateTransactionM
anagerLookup
However, when the process is being deployed, I get the following
exception:
I'm getting the following exception:
java.util.concurrent.ExecutionException: java.lang.AbstractMethodError:
org.apache.ode.daohib.HibernateTransactionManagerLookup.getTransactionId
entifier(Ljavax/
transaction/Transaction;)Ljava/lang/Object;
at
java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:205)
at java.util.concurrent.FutureTask.get(FutureTask.java:80)
at
org.apache.ode.bpel.engine.BpelProcess$HydrationLatch.doHydrate(BpelProc
ess.java:812)
at
org.apache.ode.bpel.engine.BpelProcess$HydrationLatch.access$100(BpelPro
cess.java:728)
at
org.apache.ode.bpel.engine.BpelProcess$HydrationLatch$2.run(BpelProcess.
java:738)
at
org.apache.ode.bpel.engine.NStateLatch.latch(NStateLatch.java:89)
at
org.apache.ode.bpel.engine.BpelProcess.hydrate(BpelProcess.java:607)
at
org.apache.ode.bpel.engine.BpelServerImpl.register(BpelServerImpl.java:2
84)
at
org.apache.ode.axis2.ODEServer.handleEvent(ODEServer.java:579)
at org.apache.ode.axis2.ODEServer.access$100(ODEServer.java:78)
at
org.apache.ode.axis2.ODEServer$ProcessStoreListenerImpl.onProcessStoreEv
ent(ODEServer.java:566)
at
org.apache.ode.store.ProcessStoreImpl.fireEvent(ProcessStoreImpl.java:50
0)
at
org.apache.ode.store.ProcessStoreImpl.fireStateChange(ProcessStoreImpl.j
ava:506)
at
org.apache.ode.store.ProcessStoreImpl.deploy(ProcessStoreImpl.java:284)
at
org.apache.ode.axis2.deploy.DeploymentPoller.check(DeploymentPoller.java
:144)
at
org.apache.ode.axis2.deploy.DeploymentPoller.access$300(DeploymentPoller
.java:55)
at
org.apache.ode.axis2.deploy.DeploymentPoller$PollingThread.run(Deploymen
tPoller.java:188)
Caused by: java.lang.AbstractMethodError:
org.apache.ode.daohib.HibernateTransactionManagerLookup.getTransactionId
entifier(Ljavax/transaction/Transaction;)Ljava
/lang/Object;
at
org.hibernate.context.JTASessionContext.currentSession(JTASessionContext
.java:104)
at
org.hibernate.impl.SessionFactoryImpl.getCurrentSession(SessionFactoryIm
pl.java:574)
ode configuration is:
ode-axis2.db.mode=EXTERNAL
ode-axis2.db.ext.dataSource=java:comp/env/jdbc/ODEDB
ode-axis2.threads.pool.size=1
ode-axis2.dao.factory=org.apache.ode.daohib.bpel.BpelDAOConnectionFactor
yImpl
org.hibernate.dialect.Dialect=org.hibernate.dialect.Oracle9Dialect
# Hibernate / JTA Session Management Conifguration
hibernate.current_session_context_class=jta
and tomcat server.xml contains:
<Context path="/ode" docBase="ode" debug="5"
reloadable="true" crossContext="true">
<Resource name="jdbc/ODEDB" auth="Container"
type="javax.sql.DataSource"
maxActive="100" maxIdle="30"
maxWait="10000"
driverClassName="oracle.jdbc.OracleDriver" user="" password=""
url="jdbc:oracle:thin:@vm-aabes:1521:orcl"/>
</Context>
At first I tried to deploy atomikos as the JTA provider, but I was
getting JVM exceptions (linkage error) which seemed to indicate that
there's already JTA provided somewhere- I found the
geronimo-transaction-2.0.1.jar already seems to provide the required
functionality.
What am I missing...?
TIA