Hi Sathwik, No the 'Error loading immediate jobs from database' Exception is still thrown every few seconds. Having to load the schema and tell hibernate to create the tables to get it working in the first place isn't ideal, so I'd go for OpenJPA if possible. OpenJPA also works out of the box. I'll patch the CorrelatorDAOImpl this weekend to see if it fixes the ODE-400 issue.
Regards, Michael -----Oorspronkelijk bericht----- Van: Sathwik B P [mailto:[email protected]] Verzonden: 30 januari 2014 18:02 Aan: [email protected] Onderwerp: Re: Apache ODE 1.3.6 on Oracle DB with Hibernate 3.2.0 Hi Micheal, Have you been able to resolve the issue. regards, sathwik On Mon, Jan 20, 2014 at 3:19 PM, Servaas, M. (Michael) < [email protected]> wrote: > Hi, > > I am attempting to use Apache ODE on an Oracle DB (10g) with Hibernate > 3.2.0 GA, because with OpenJPA I am bothered by this bug > https://issues.apache.org/jira/browse/ODE-400, which impacts the > performance too much. Also, patching is not an option for me at the > moment. > > So I thought maybe the > org.apache.ode.daohib.bpel.BpelDAOConnectionFactoryImpl wouldn't have > this bug and I configured my Tomcat with Bitronix to use the Hibernate > and loaded the ode-1.3.4-hib-oracle schema. Apache ODE now outputs the > following to the console: > > 09:50:56,410 INFO [ODEServer] Using DAO Connection Factory class > org.apache.ode.daohib.bpel.BpelDAOConnectionFactoryImpl. > Hibernate: select this_.NAME as NAME77_0_, this_.deployer as > deployer77_0_, this_.DEPLOYDT as DEPLOYDT77_0_, this_.DIR as DIR77_0_ > from STORE_DU this_ > 09:50:56,616 WARN [JDBCExceptionReporter] SQL Error: 942, SQLState: > 42000 > 09:50:56,617 ERROR [JDBCExceptionReporter] ORA-00942: table or view > does not exist > > Which is true, because STORE_DU does not exist in the schema. Using > hibernate.hbm2ddl.auto=update creates the tables that are missing in > the schema. > > Then when all seemed ok and I fired a request at my process the > following exceptions were thrown: > > org.apache.ode.bpel.iapi.Scheduler$JobProcessorException: > org.hibernate.HibernateException: CGLIB Enhancement failed: > org.apache.ode.daohib.bpel.hobj.HMessage > at > org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl. > java:478) > at > org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl. > java:450) > at > org.apache.ode.scheduler.simple.SimpleScheduler$RunJob$1.call(SimpleSc > he > duler.java:523) > at > org.apache.ode.scheduler.simple.SimpleScheduler$RunJob$1.call(SimpleSc > he > duler.java:517) > at > org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(Simple > Sc > heduler.java:289) > at > org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(Simple > Sc > heduler.java:244) > at > org.apache.ode.scheduler.simple.SimpleScheduler$RunJob.call(SimpleSche > du > ler.java:517) > at > org.apache.ode.scheduler.simple.SimpleScheduler$RunJob.call(SimpleSche > du > ler.java:501) > at > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) > at java.util.concurrent.FutureTask.run(FutureTask.java:138) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecu > to > r.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor. > ja > va:908) > at java.lang.Thread.run(Thread.java:662) > Caused by: org.hibernate.HibernateException: CGLIB Enhancement failed: > org.apache.ode.daohib.bpel.hobj.HMessage > at > org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.getProxy(CGLIBLazy > In > itializer.java:102) > at > org.hibernate.proxy.pojo.cglib.CGLIBProxyFactory.getProxy(CGLIBProxyFa > ct > ory.java:49) > at > org.hibernate.tuple.entity.AbstractEntityTuplizer.createProxy(Abstract > En > tityTuplizer.java:379) > at > org.hibernate.persister.entity.AbstractEntityPersister.createProxy(Abs > tr > actEntityPersister.java:3388) > at > org.hibernate.event.def.DefaultLoadEventListener.createProxyIfNecessar > y( > DefaultLoadEventListener.java:255) > at > org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLo > ad > EventListener.java:189) > at > org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEve > nt > Listener.java:101) > at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:878) > at > org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:846) > at > org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:266) > at org.hibernate.type.EntityType.resolve(EntityType.java:303) > at > org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:1 > 16 > ) > at > org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.ja > va > :842) > at org.hibernate.loader.Loader.doQuery(Loader.java:717) > at > org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loa > de > r.java:224) > at org.hibernate.loader.Loader.loadEntity(Loader.java:1784) > at > org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLo > ad > er.java:48) > at > org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLo > ad > er.java:42) > at > org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEn > ti > tyPersister.java:2977) > at > org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(De > fa > ultLoadEventListener.java:393) > at > org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEve > nt > Listener.java:374) > at > org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEvent > Li > stener.java:137) > at > org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLo > ad > EventListener.java:193) > at > org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEve > nt > Listener.java:101) > at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:878) > at org.hibernate.impl.SessionImpl.get(SessionImpl.java:815) > at org.hibernate.impl.SessionImpl.get(SessionImpl.java:808) > at > org.apache.ode.daohib.bpel.BpelDAOConnectionImpl.getMessageExchange(Bp > el > DAOConnectionImpl.java:101) > at > org.apache.ode.bpel.engine.BpelEngineImpl.setMessageExchangeProcess(Bp > el > EngineImpl.java:215) > at > org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl. > java:445) > ... 12 more > Caused by: java.lang.IllegalArgumentException: class > org.apache.ode.daohib.bpel.hobj.HMessage$$EnhancerByCGLIB$$d480ba16 is > not an enhanced class > at > net.sf.cglib.proxy.Enhancer.setCallbacksHelper(Enhancer.java:618) > at > net.sf.cglib.proxy.Enhancer.setThreadCallbacks(Enhancer.java:609) > at > net.sf.cglib.proxy.Enhancer.registerCallbacks(Enhancer.java:578) > at > org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.getProxy(CGLIBLazy > In > itializer.java:98) > ... 41 more > > To fix this, I removed the cglib-2.1.3 from ODE's lib directory. > > Now, the following exception is thrown: > > 10:43:53,055 ERROR [SimpleScheduler] Error loading immediate jobs from > database. > java.lang.ClassCastException: java.lang.Long cannot be cast to > java.lang.String > at > org.apache.ode.scheduler.simple.JdbcDelegate.dequeueImmediate(JdbcDele > ga > te.java:318) > at > org.apache.ode.scheduler.simple.SimpleScheduler$6.call(SimpleScheduler > .j > ava:704) > at > org.apache.ode.scheduler.simple.SimpleScheduler$6.call(SimpleScheduler > .j > ava:702) > at > org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(Simple > Sc > heduler.java:289) > at > org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(Simple > Sc > heduler.java:244) > at > org.apache.ode.scheduler.simple.SimpleScheduler.doLoadImmediate(Simple > Sc > heduler.java:702) > at > org.apache.ode.scheduler.simple.SimpleScheduler.recoverStaleNode(Simpl > eS > cheduler.java:815) > at > org.apache.ode.scheduler.simple.SimpleScheduler$CheckStaleNodes.run(Si > mp > leScheduler.java:913) > at > org.apache.ode.scheduler.simple.SimpleScheduler$5.call(SimpleScheduler > .j > ava:663) > at > org.apache.ode.scheduler.simple.SimpleScheduler$5.call(SimpleScheduler > .j > ava:660) > at > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) > at java.util.concurrent.FutureTask.run(FutureTask.java:138) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecu > to > r.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor. > ja > va:908) > at java.lang.Thread.run(Thread.java:662) > > Might this be related to this issue: > https://issues.apache.org/jira/i#browse/ODE-1012 > <https://issues.apache.org/jira/i#browse/ODE-1012> ? Setting the > Dorg.apache.ode.disable.deferredProcessInstanceCleanup=true in > CATALINA_OPTS didn't fix it though. > My process does work, despite the exception so I guess it's 'OK' for > now. But it seems the published DB schema isn't compatible with the > code on several places. > > Best regards, > > Michael > > -------------------------Disclaimer------------------------------- > De informatie verzonden met dit e-mailbericht (en bijlagen) is > uitsluitend bestemd voor de geadresseerde(n) en zij die van de > geadresseerde(n) toestemming kregen dit bericht te lezen. Gebruik door > anderen dan > geadresseerde(n) is verboden. De informatie in dit e-mailbericht (en > bijlagen) kan vertrouwelijk van aard zijn en kan binnen het bereik > vallen van een geheimhoudingsplicht en een verschoningsrecht. > ------------------------------------------------------------------- > -------------------------Disclaimer------------------------------- De informatie verzonden met dit e-mailbericht (en bijlagen) is uitsluitend bestemd voor de geadresseerde(n) en zij die van de geadresseerde(n) toestemming kregen dit bericht te lezen. Gebruik door anderen dan geadresseerde(n) is verboden. De informatie in dit e-mailbericht (en bijlagen) kan vertrouwelijk van aard zijn en kan binnen het bereik vallen van een geheimhoudingsplicht en een verschoningsrecht. -------------------------------------------------------------------
