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" <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]> 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
CREATE TABLE ODE_ACTIVITY_RECOVERY (ACTIVITY_ID BIGINT NOT NULL, ACTIONS VARCHAR(255), CHANNEL VARCHAR(255), DATE_TIME DATETIME, DETAILS TEXT, REASON VARCHAR(255), RETRIES INTEGER, INSTANCE_ID BIGINT, PRIMARY KEY (ACTIVITY_ID)) TYPE = innodb; CREATE TABLE ODE_CORRELATION_SET (CORRELATION_SET_ID BIGINT NOT NULL, CORRELATION_KEY VARCHAR(255), NAME VARCHAR(255), SCOPE_ID BIGINT, PRIMARY KEY (CORRELATION_SET_ID)) TYPE = innodb; CREATE TABLE ODE_CORRELATOR (CORRELATOR_ID BIGINT NOT NULL, CORRELATOR_KEY VARCHAR(255), PROC_ID BIGINT, PRIMARY KEY (CORRELATOR_ID)) TYPE = innodb; CREATE TABLE ODE_CORSET_PROP (ID BIGINT NOT NULL, PROP_KEY VARCHAR(255), PROP_VALUE VARCHAR(255), CORRSET_ID BIGINT, PRIMARY KEY (ID)) TYPE = innodb; CREATE TABLE ODE_FAULT (FAULT_ID BIGINT NOT NULL, ACTIVITY_ID INTEGER, DATA TEXT, MESSAGE VARCHAR(255), LINE_NUMBER INTEGER, NAME BLOB, PRIMARY KEY (FAULT_ID)) TYPE = innodb; CREATE TABLE ODE_MESSAGE (MESSAGE_ID BIGINT NOT NULL, DATA TEXT, TYPE BLOB, MESSAGE_EXCHANGE_ID VARCHAR(255), PRIMARY KEY (MESSAGE_ID)) TYPE = innodb; CREATE TABLE ODE_MESSAGE_EXCHANGE (MESSAGE_EXCHANGE_ID VARCHAR(255) NOT NULL, CALLEE BLOB, CHANNEL VARCHAR(255), CORRELATION_ID VARCHAR(255), CORRELATION_KEYS VARCHAR(255), CORRELATION_STATUS VARCHAR(255), CREATE_TIME DATETIME, DIRECTION INTEGER, EPR TEXT, FAULT VARCHAR(255), FAULT_EXPLANATION VARCHAR(255), OPERATION VARCHAR(255), PARTNER_LINK_MODEL_ID INTEGER, PATTERN VARCHAR(255), PIPED_ID VARCHAR(255), PORT_TYPE BLOB, PROPAGATE_TRANS BIT, STATUS VARCHAR(255), CORR_ID BIGINT, PARTNER_LINK_ID BIGINT, PROCESS_ID BIGINT, PROCESS_INSTANCE_ID BIGINT, REQUEST_MESSAGE_ID BIGINT, RESPONSE_MESSAGE_ID BIGINT, PRIMARY KEY (MESSAGE_EXCHANGE_ID)) TYPE = innodb; CREATE TABLE ODE_MESSAGE_ROUTE (MESSAGE_ROUTE_ID BIGINT NOT NULL, CORRELATION_KEY VARCHAR(255), GROUP_ID VARCHAR(255), `INDEX` INTEGER, CORR_ID BIGINT, PROCESS_INSTANCE_ID BIGINT, PRIMARY KEY (MESSAGE_ROUTE_ID)) TYPE = innodb; CREATE TABLE ODE_MEX_PROP (ID BIGINT NOT NULL, PROP_KEY VARCHAR(255), PROP_VALUE VARCHAR(255), MEX_ID VARCHAR(255), PRIMARY KEY (ID)) TYPE = innodb; CREATE TABLE ODE_PARTNER_LINK (PARTNER_LINK_ID BIGINT NOT NULL, MY_EPR TEXT, MY_ROLE_NAME VARCHAR(255), MY_ROLE_SERVICE_NAME BLOB, MY_SESSION_ID VARCHAR(255), PARTNER_EPR TEXT, PARTNER_LINK_MODEL_ID INTEGER, PARTNER_LINK_NAME VARCHAR(255), PARTNER_ROLE_NAME VARCHAR(255), PARTNER_SESSION_ID VARCHAR(255), SCOPE_ID BIGINT, PRIMARY KEY (PARTNER_LINK_ID)) TYPE = innodb; CREATE TABLE ODE_PROCESS (ID BIGINT NOT NULL, GUID VARCHAR(255), NUMBER_OF_INSTANCES INTEGER, PROCESS_ID VARCHAR(255), PROCESS_TYPE VARCHAR(255), VERSION BIGINT, PRIMARY KEY (ID)) TYPE = innodb; CREATE TABLE ODE_PROCESS_INSTANCE (ID BIGINT NOT NULL, DATE_CREATED DATETIME, EXECUTION_STATE BLOB, LAST_ACTIVE_TIME DATETIME, LAST_RECOVERY_DATE DATETIME, PREVIOUS_STATE SMALLINT, SEQUENCE BIGINT, INSTANCE_STATE SMALLINT, FAULT_ID BIGINT, INSTANTIATING_CORRELATOR_ID BIGINT, PROCESS_ID BIGINT, ROOT_SCOPE_ID BIGINT, PRIMARY KEY (ID)) TYPE = innodb; CREATE TABLE ODE_SCOPE (SCOPE_ID BIGINT NOT NULL, MODEL_ID INTEGER, SCOPE_NAME VARCHAR(255), SCOPE_STATE VARCHAR(255), PROCESS_INSTANCE_ID BIGINT, PARENT_SCOPE_ID BIGINT, PRIMARY KEY (SCOPE_ID)) TYPE = innodb; CREATE TABLE ODE_XML_DATA (XML_DATA_ID BIGINT NOT NULL, DATA TEXT, IS_SIMPLE_TYPE BIT, NAME VARCHAR(255), PROPERTIES BLOB, SCOPE_ID BIGINT, PRIMARY KEY (XML_DATA_ID)) TYPE = innodb; CREATE TABLE OPENJPA_SEQUENCE_TABLE (ID TINYINT NOT NULL, SEQUENCE_VALUE BIGINT, PRIMARY KEY (ID)) TYPE = innodb; CREATE INDEX I_D_CTVRY_INSTANCE ON ODE_ACTIVITY_RECOVERY (INSTANCE_ID); CREATE INDEX I_D_CR_ST_SCOPE ON ODE_CORRELATION_SET (SCOPE_ID); CREATE INDEX I_D_CRLTR_PROCESS ON ODE_CORRELATOR (PROC_ID); CREATE INDEX I_D_CRPRP_CORRSET ON ODE_CORSET_PROP (CORRSET_ID); CREATE INDEX I_OD_MSSG_MESSAGEEXCHANGE ON ODE_MESSAGE (MESSAGE_EXCHANGE_ID); CREATE INDEX I_D_MSHNG_CORRELATOR ON ODE_MESSAGE_EXCHANGE (CORR_ID); CREATE INDEX I_D_MSHNG_PARTNERLINK ON ODE_MESSAGE_EXCHANGE (PARTNER_LINK_ID); CREATE INDEX I_D_MSHNG_PROCESS ON ODE_MESSAGE_EXCHANGE (PROCESS_ID); CREATE INDEX I_D_MSHNG_PROCESSINST ON ODE_MESSAGE_EXCHANGE (PROCESS_INSTANCE_ID); CREATE INDEX I_D_MSHNG_REQUEST ON ODE_MESSAGE_EXCHANGE (REQUEST_MESSAGE_ID); CREATE INDEX I_D_MSHNG_RESPONSE ON ODE_MESSAGE_EXCHANGE (RESPONSE_MESSAGE_ID); CREATE INDEX I_D_MS_RT_CORRELATOR ON ODE_MESSAGE_ROUTE (CORR_ID); CREATE INDEX I_D_MS_RT_PROCESSINST ON ODE_MESSAGE_ROUTE (PROCESS_INSTANCE_ID); CREATE INDEX I_D_MXPRP_MEX ON ODE_MEX_PROP (MEX_ID); CREATE INDEX I_D_PRLNK_SCOPE ON ODE_PARTNER_LINK (SCOPE_ID); CREATE INDEX I_D_PRTNC_FAULT ON ODE_PROCESS_INSTANCE (FAULT_ID); CREATE INDEX I_D_PRTNC_INSTANTIATINGCORRELATOR ON ODE_PROCESS_INSTANCE (INSTANTIATING_CORRELATOR_ID); CREATE INDEX I_D_PRTNC_PROCESS ON ODE_PROCESS_INSTANCE (PROCESS_ID); CREATE INDEX I_D_PRTNC_ROOTSCOPE ON ODE_PROCESS_INSTANCE (ROOT_SCOPE_ID); CREATE INDEX I_OD_SCOP_PARENTSCOPE ON ODE_SCOPE (PARENT_SCOPE_ID); CREATE INDEX I_OD_SCOP_PROCESSINSTANCE ON ODE_SCOPE (PROCESS_INSTANCE_ID); CREATE INDEX I_D_XM_DT_SCOPE ON ODE_XML_DATA (SCOPE_ID);
CREATE TABLE OPENJPA_SEQUENCE_TABLE (ID TINYINT NOT NULL, SEQUENCE_VALUE BIGINT, PRIMARY KEY (ID)) TYPE = innodb; CREATE TABLE STORE_DU (NAME VARCHAR(255) NOT NULL, DEPLOYDT DATETIME, DEPLOYER VARCHAR(255), DIR VARCHAR(255), PRIMARY KEY (NAME)) TYPE = innodb; CREATE TABLE STORE_PROCESS (PID VARCHAR(255) NOT NULL, STATE VARCHAR(255), TYPE VARCHAR(255), VERSION BIGINT, DU VARCHAR(255), PRIMARY KEY (PID)) TYPE = innodb; CREATE TABLE STORE_PROCESS_PROP (id BIGINT NOT NULL, PROP_KEY VARCHAR(255), PROP_VAL VARCHAR(255), PRIMARY KEY (id)) TYPE = innodb; CREATE TABLE STORE_PROC_TO_PROP (ProcessConfDaoImpl_PID VARCHAR(255), element_id BIGINT) TYPE = innodb; CREATE TABLE STORE_VERSIONS (id BIGINT NOT NULL, VERSION BIGINT, PRIMARY KEY (id)) TYPE = innodb; CREATE INDEX I_STR_CSS_DU ON STORE_PROCESS (DU); CREATE INDEX I_STR_PRP_ELEMENT ON STORE_PROC_TO_PROP (element_id); CREATE INDEX I_STR_PRP_PROCESSCONFDAOIMPL_PID ON STORE_PROC_TO_PROP (ProcessConfDaoImpl_PID);
