java.io.NotSerializableException is thrown while calling an introspected object within a process flow (Doc ID 1161734.1)

Last updated on OCTOBER 24, 2016

Applies to:

Oracle Business Process Management Suite - Version 10.3.1 to 10.3.1 [Release AS10gR3]
Information in this document applies to any platform.
***Checked for relevance on 21-June-2013***

Symptoms

When a specific introspected external object method is being called (developed in a custom java jar file) from some activity that belongs to a process flow, the instance execution can not proceed any further and the following error message could be thrown by the Engine:

Error while persisting the transaction data: 'weblogic.jdbc.common.internal.RmiDataSource' Details: weblogic.jdbc.common.internal.RmiDataSource Runtime exception Shell. Apparent cause : weblogic.jdbc.common.internal.RmiDataSource Original stack trace follows ... java.io.NotSerializableException: weblogic.jdbc.common.internal.RmiDataSource
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at fuego.server.persistence.jdbc.JdbcProcessInstancePersMgr.createDetachedField(JdbcProcessInstancePersMgr.java:1070)
at fuego.server.persistence.Persistence.createDetachedField(Persistence.java:670) at fuego.server.DetachedVariableHandler.storeVariables(DetachedVariableHandler.java:68) at fuego.server.ProcInst.persistDetachedVariables(ProcInst.java:2361) at fuego.server.execution.EngineExecutionContext.persistInstances(EngineExecutionContext.java:1997) at fuego.server.execution.EngineExecutionContext.persist(EngineExecutionContext.java:1201) at fuego.transaction.TransactionAction.beforeCompletion(TransactionAction.java:132) at fuego.connector.ConnectorTransaction.beforeCompletion(ConnectorTransaction.java:692) at fuego.connector.ConnectorTransaction.commit(ConnectorTransaction.java:375)
at fuego.transaction.TransactionAction.commit(TransactionAction.java:302) at fuego.transaction.TransactionAction.startBaseTransaction(TransactionAction.java:481) at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:551)
at fuego.transaction.TransactionAction.start(TransactionAction.java:212) at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:123) at fuego.server.execution.EngineExecution.executeImmediate(EngineExecution.java:66) at fuego.ejbengine.ItemExecutionBean.processMessage(ItemExecutionBean.java:209)
at fuego.ejbengine.ItemExecutionBean.onMessage(ItemExecutionBean.java:120)
at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:466) at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:371) at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:327)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4547)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:4233)
at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3709)
at weblogic.jms.client.JMSSession.access$000(JMSSession.java:114)
at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5058) at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201) at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)


Background: the called object returns an object that is assigned to a BPM variable declared as Separated.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms