Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.1.1
-
None
Description
The current external variable code assumes time/date values extracted from the resultset are either java.util.Date, java.sql.Time, or java.sql.Timestamp... but Oracle's JDBC implementation is "special" and breaks our code,
23:06:28,573 ERROR [JacobVPU] Method "run" in class "org.apache.ode.bpel.runtime
.ASSIGN" threw an unexpected exception.
java.lang.ClassCastException: oracle.sql.TIMESTAMP
at org.apache.ode.bpel.extvar.jdbc.DbExternalVariable$Column.toText(DbEx
ternalVariable.java:439)
at org.apache.ode.bpel.extvar.jdbc.DbExternalVariable.addElement(DbExter
nalVariable.java:278)
at org.apache.ode.bpel.extvar.jdbc.DbExternalVariable.renderXmlRow(DbExt
ernalVariable.java:262)
at org.apache.ode.bpel.extvar.jdbc.JdbcExternalVariableModule.readValue(
JdbcExternalVariableModule.java:292)
at org.apache.ode.bpel.engine.extvar.ExternalVariableManager.read(Extern
alVariableManager.java:139)
at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.readExtVar(BpelRunt
imeContextImpl.java:1350)
at org.apache.ode.bpel.runtime.ScopeFrame.initializeVariable(ScopeFrame.
java:233)
at org.apache.ode.bpel.runtime.ACTIVITY.initializeVariable(ACTIVITY.java
:164)
at org.apache.ode.bpel.runtime.ASSIGN.evalLValue(ASSIGN.java:125)
at org.apache.ode.bpel.runtime.ASSIGN.copy(ASSIGN.java:348)
at org.apache.ode.bpel.runtime.ASSIGN.run(ASSIGN.java:80)
at sun.reflect.GeneratedMethodAccessor183.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:4
51)
at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntime
ContextImpl.java:831)
at org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeNewInstance(Pa
rtnerLinkMyRoleImpl.java:197)
at org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java
:194)
at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.ja
va:362)
at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineIm
pl.java:326)
at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerIm
pl.java:373)
at com.intalio.pxe.csched.SimpleScheduler$4$1.call(SimpleScheduler.java:
297)
at com.intalio.pxe.csched.SimpleScheduler$4$1.call(SimpleScheduler.java:
296)
at com.intalio.pxe.csched.SimpleScheduler.execTransaction(SimpleSchedule
r.java:135)
at com.intalio.pxe.csched.SimpleScheduler$4.call(SimpleScheduler.java:29
5)
at com.intalio.pxe.csched.SimpleScheduler$4.call(SimpleScheduler.java:29
2)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
at java.util.concurrent.FutureTask.run(FutureTask.java:123)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
utor.java:650)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:675)
at java.lang.Thread.run(Thread.java:595)
23:06:28,573 ERROR [BpelEngineImpl] Scheduled job failed; jobDetail={type=INVOKE
_INTERNAL, mexid=3127, pid=
Pool0-1}
java.lang.RuntimeException: java.lang.ClassCastException: oracle.sql.TIMESTAMP
at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:4
64)
at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntime
ContextImpl.java:831)
at org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeNewInstance(Pa