ode-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matthieu Riou" <matthieu.r...@gmail.com>
Subject Re: [B cannot be cast to QName
Date Wed, 21 Mar 2007 16:43:09 GMT
I just fixed the QName mapping in the MessageExchange DAO. This type isn't
supported as is by OpenJPA so we usually persist it as a String but there
was still some QNames fields hanging around. Those gets persisted as blobs
which isn't quite right. The strange thing is it should have worked in the
same way on Derby and MySQL, the object should just have been serialized.

Anyway try an update and update the schema, we'll see how it goes.

Thanks,
Matthieu

On 3/21/07, Janne Savukoski <janne@savukoski.name> wrote:
>
> Hi,
>
> Ok, I was kind of expecting that. Feels a bit that yet another
> component tries to be too smart, but I guess OpenJPA has legitimate
> reasons for that infererence.
>
> I'm generating the schemas with the mappingtool -ant task, both
> attached. I haven't yet compared those with the derby-schemas, but I
> guess that's my next step. Of course, all help is very much
> appreciated.
>
> The three retries take only a 1/10sec total, but I'll try to find out
> what's causing the delay as soon as I'll get the system working, if it
> still occurs.
>
> br, janne
>
>
> From: "Matthieu Riou" <matthieu.riou@gmail.com>
>
> > I don't have your problem with OpenJPA datatypes but it's most probably
> > related to your database schema. I think OpenJPA does some type
> inference
> > depending on the type of the column you read from and if the type
> inferred
> > doesn't match with the one in your object... Anyway how did you generate
> the
> > MySQL schema? Could you send it so I can check what could be wrong with
> it?
> >
> > Also for the 20s delay it's possibly a consequence of the exception.
> When a
> > commit goes wrong we have some retry logic happening. What you see is
> > probably the last retry. Make sure that you don't have another
> transaction
> > before that started right away but failed as well.
> >
> > Cheers,
> > Matthieu
> >
> > On 3/21/07, Janne Savukoski <janne@savukoski.name> wrote:
> > >
> > > Hi,
> > >
> > > I'm getting this most blocking openjpa datatype recognition/parsing
> > > error which I can't get around; the log snippet can be found below.
> > > Anyone has any ideas if the problem is in my settings or in the
> > > dao-jpa?
> > >
> > > Btw., why it takes 20sec for a committed message exchange to actually
> > > start processing? As in below the corresponding ODE_MESSAGE etc.
> > > inserts were committed 09:56:37. The quartz seems to be just sitting
> > > there a while. I haven't yet profiled the situation as I guess someone
> > > here already has the answer?
> > >
> > > Best, janne
> > >
> > >
> > > 09:56:56,192 | INFO  | pool-20-thread-1 | JobRunShell              |
> > > org.quartz.core.JobRunShell     208 | Job
> > > DEFAULT.bjlegq3v0drmtwckvf3xjk threw a JobExecutionException:
> > > org.quartz.JobExecutionException:
> > > org.apache.ode.bpel.iapi.Scheduler$JobProcessorException:
> > > <0|false|0.9.7-incubating-SNAPSHOT>
> > > org.apache.openjpa.persistence.PersistenceException: [B cannot be cast
> > > to javax.xml.namespace.QName [See nested exception:
> > > org.apache.ode.bpel.iapi.Scheduler$JobProcessorException:
> > > <0|false|0.9.7-incubating-SNAPSHOT>
> > > org.apache.openjpa.persistence.PersistenceException: [B cannot be cast
> > > to javax.xml.namespace.QName]
> > >         at
> > > org.apache.ode.bpel.scheduler.quartz.QuartzSchedulerImpl.doExecute(
> > > QuartzSchedulerImpl.java:353)
> > >         at
> > > org.apache.ode.bpel.scheduler.quartz.QuartzSchedulerImpl.execute(
> > > QuartzSchedulerImpl.java:367)
> > >         at org.apache.ode.bpel.scheduler.quartz.JobImpl.execute(
> > > JobImpl.java:32)
> > >         at org.quartz.core.JobRunShell.run(JobRunShell.java:203)
> > >         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(
> > > ThreadPoolExecutor.java:885)
> > >         at java.util.concurrent.ThreadPoolExecutor$Worker.run(
> > > ThreadPoolExecutor.java:907)
> > >         at java.lang.Thread.run(Thread.java:619)
> > > * Nested Exception (Underlying Cause) ---------------
> > > org.apache.ode.bpel.iapi.Scheduler$JobProcessorException:
> > > <0|false|0.9.7-incubating-SNAPSHOT>
> > > org.apache.openjpa.persistence.PersistenceException: [B cannot be cast
> > > to javax.xml.namespace.QName
> > >         at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(
> > > BpelEngineImpl.java:321)
> > >         at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(
> > > BpelServerImpl.java:384)
> > >         at
> > > org.apache.ode.bpel.scheduler.quartz.QuartzSchedulerImpl.doExecute(
> > > QuartzSchedulerImpl.java:351)
> > >         at
> > > org.apache.ode.bpel.scheduler.quartz.QuartzSchedulerImpl.execute(
> > > QuartzSchedulerImpl.java:367)
> > >         at org.apache.ode.bpel.scheduler.quartz.JobImpl.execute(
> > > JobImpl.java:32)
> > >         at org.quartz.core.JobRunShell.run(JobRunShell.java:203)
> > >         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(
> > > ThreadPoolExecutor.java:885)
> > >         at java.util.concurrent.ThreadPoolExecutor$Worker.run(
> > > ThreadPoolExecutor.java:907)
> > >         at java.lang.Thread.run(Thread.java:619)
> > > Caused by: <0|false|0.9.7-incubating-SNAPSHOT>
> > > org.apache.openjpa.persistence.PersistenceException: [B cannot be cast
> > > to javax.xml.namespace.QName
> > >         at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java
> :854)
> > >         at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java
> :748)
> > >         at org.apache.openjpa.kernel.DelegatingBroker.find(
> > > DelegatingBroker.java:169)
> > >         at org.apache.openjpa.persistence.EntityManagerImpl.find(
> > > EntityManagerImpl.java:346)
> > >         at
> org.apache.ode.dao.jpa.BPELDAOConnectionImpl.getMessageExchange
> > > (BPELDAOConnectionImpl.java:127)
> > >         at
> org.apache.ode.bpel.engine.BpelEngineImpl.getMessageExchange(
> > > BpelEngineImpl.java:143)
> > >         at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(
> > > BpelProcess.java:279)
> > >         at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(
> > > BpelEngineImpl.java:311)
> > >         ... 8 more
> > > Caused by: java.lang.ClassCastException: [B cannot be cast to
> > > javax.xml.namespace.QName
> > >         at
> org.apache.ode.dao.jpa.MessageExchangeDAOImpl.pcReplaceField(
> > > MessageExchangeDAOImpl.java)
> > >         at org.apache.openjpa.kernel.StateManagerImpl.replaceField(
> > > StateManagerImpl.java:2868)
> > >         at org.apache.openjpa.kernel.StateManagerImpl.storeObjectField
> (
> > > StateManagerImpl.java:2322)
> > >         at org.apache.openjpa.kernel.StateManagerImpl.storeField(
> > > StateManagerImpl.java:2418)
> > >         at org.apache.openjpa.kernel.StateManagerImpl.storeField(
> > > StateManagerImpl.java:731)
> > >         at org.apache.openjpa.kernel.StateManagerImpl.store(
> > > StateManagerImpl.java:727)
> > >         at
> org.apache.openjpa.jdbc.meta.strats.HandlerFieldStrategy.load(
> > > HandlerFieldStrategy.java:171)
> > >         at org.apache.openjpa.jdbc.meta.FieldMapping.load(
> > > FieldMapping.java:785)
> > >         at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(
> > > JDBCStoreManager.java:830)
> > >         at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(
> > > JDBCStoreManager.java:782)
> > >         at
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initializeState
> > > (JDBCStoreManager.java:333)
> > >         at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initialize(
> > > JDBCStoreManager.java:252)
> > >         at org.apache.openjpa.kernel.DelegatingStoreManager.initialize
> (
> > > DelegatingStoreManager.java:108)
> > >         at org.apache.openjpa.kernel.ROPStoreManager.initialize(
> > > ROPStoreManager.java:54)
> > >         at org.apache.openjpa.kernel.BrokerImpl.initialize(
> BrokerImpl.java
> > > :873)
> > >         at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java
> :831)
> > >         ... 15 more
> > > 09:56:56,202 | DEBUG | pool-20-thread-1 | JTAJobRunShell           |
> > > cheduler.quartz.JTAJobRunShell   95 | UserTransaction marked for
> > > rollback only.
> > > 09:56:56,202 | DEBUG | pool-20-thread-1 | JTAJobRunShell           |
> > > cheduler.quartz.JTAJobRunShell  113 | Rollbacking transaction.
> > > 09:56:56,202 | DEBUG | pool-20-thread-1 | JobStoreJTA              |
> > > l.scheduler.quartz.JobStoreJTA 1181 | triggeredJobComplete:
> > > trigger=Trigger 'DEFAULT.bjlegq3v0drmtwckvf3xjk.trigger':
> > > triggerClass: 'org.quartz.SimpleTrigger isVolatile: false calendar:
> > > 'null' misfireInstruction: 0 nextFireTime: null,
> > > jobName=DEFAULT.bjlegq3v0drmtwckvf3xjk, triggerInstCode=3
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message