Error while closing command context [RESOLVED]


#1

Solution:

One callActivity of our BPMN file which is loaded into flowable didn’t have set attribute calledElement.

Hope this helps someone.

Problem:

Hi,

I have been stuck with this problem for 2 days. After the execution of a callActivity, i get this exception. I have ran out of ideas. ¿Does someone know what might be causing this issue?

message: Error while closing command context
stacktrace:
org.apache.ibatis.exceptions.PersistenceException:

Error querying database. Cause: org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property=‘processDefinitionKey’, mode=IN, javaType=class java.lang.Object, jdbcType=null, numericScale=null, resultMapId=‘null’, jdbcTypeName=‘null’, expression=‘null’}. Cause: org.apache.ibatis.type.TypeException: Error setting null for parameter #1 with JdbcType OTHER . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property. Cause: java.sql.SQLException: Tipo de columna no válido: 1111

The error may exist in org/flowable/db/mapping/entity/ProcessDefinition.xml

The error may involve org.flowable.engine.impl.persistence.entity.ProcessDefinitionEntityImpl.selectLatestProcessDefinitionByKeyAndTenantId-Inline

The error occurred while setting parameters

SQL: select * from ACT_RE_PROCDEF where KEY_ = ? and TENANT_ID_ = ? and VERSION_ = (select max(VERSION_) from ACT_RE_PROCDEF where KEY_ = ? and TENANT_ID_ = ?)

Cause: org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property=‘processDefinitionKey’, mode=IN, javaType=class java.lang.Object, jdbcType=null, numericScale=null, resultMapId=‘null’, jdbcTypeName=‘null’, expression=‘null’}. Cause: org.apache.ibatis.type.TypeException: Error setting null for parameter #1 with JdbcType OTHER . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property. Cause: java.sql.SQLException: Tipo de columna no válido: 1111

org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:150)
org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141)
org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:77)
org.flowable.engine.common.impl.db.DbSqlSession.selectOne(DbSqlSession.java:212)
org.flowable.engine.impl.persistence.entity.data.impl.MybatisProcessDefinitionDataManager.findLatestProcessDefinitionByKeyAndTenantId(MybatisProcessDefinitionDataManager.java:57)
org.flowable.engine.impl.persistence.entity.ProcessDefinitionEntityManagerImpl.findLatestProcessDefinitionByKeyAndTenantId(ProcessDefinitionEntityManagerImpl.java:53)
org.flowable.engine.impl.persistence.deploy.DeploymentManager.findDeployedLatestProcessDefinitionByKeyAndTenantId(DeploymentManager.java:96)
org.flowable.engine.impl.bpmn.behavior.CallActivityBehavior.findProcessDefinition(CallActivityBehavior.java:209)
org.flowable.engine.impl.bpmn.behavior.CallActivityBehavior.execute(CallActivityBehavior.java:79)
org.flowable.engine.impl.agenda.ContinueProcessOperation.executeActivityBehavior(ContinueProcessOperation.java:256)
org.flowable.engine.impl.agenda.ContinueProcessOperation.executeSynchronous(ContinueProcessOperation.java:154)
org.flowable.engine.impl.agenda.ContinueProcessOperation.continueThroughFlowNode(ContinueProcessOperation.java:111)
org.flowable.engine.impl.agenda.ContinueProcessOperation.continueThroughSequenceFlow(ContinueProcessOperation.java:303)
org.flowable.engine.impl.agenda.ContinueProcessOperation.run(ContinueProcessOperation.java:77)
org.flowable.engine.impl.interceptor.CommandInvoker.executeOperation(CommandInvoker.java:88)
org.flowable.engine.impl.interceptor.CommandInvoker.executeOperations(CommandInvoker.java:72)
org.flowable.engine.impl.interceptor.CommandInvoker.execute(CommandInvoker.java:56)
org.flowable.engine.impl.interceptor.BpmnOverrideContextInterceptor.execute(BpmnOverrideContextInterceptor.java:25)
org.flowable.engine.common.impl.interceptor.TransactionContextInterceptor.execute(TransactionContextInterceptor.java:53)
org.flowable.engine.common.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:72)
org.flowable.idm.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInterceptor.java:49)
org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:133)
org.flowable.idm.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:46)
org.flowable.engine.common.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30)
org.flowable.engine.common.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:56)
org.flowable.engine.common.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:51)
org.flowable.job.service.impl.asyncexecutor.ExecuteAsyncRunnable.executeJob(ExecuteAsyncRunnable.java:125)
org.flowable.job.service.impl.asyncexecutor.ExecuteAsyncRunnable.run(ExecuteAsyncRunnable.java:112)
java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property=‘processDefinitionKey’, mode=IN, javaType=class java.lang.Object, jdbcType=null, numericScale=null, resultMapId=‘null’, jdbcTypeName=‘null’, expression=‘null’}. Cause: org.apache.ibatis.type.TypeException: Error setting null for parameter #1 with JdbcType OTHER . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property. Cause: java.sql.SQLException: Tipo de columna no válido: 1111
org.apache.ibatis.scripting.defaults.DefaultParameterHandler.setParameters(DefaultParameterHandler.java:89)
org.apache.ibatis.executor.statement.PreparedStatementHandler.parameterize(PreparedStatementHandler.java:93)
org.apache.ibatis.executor.statement.RoutingStatementHandler.parameterize(RoutingStatementHandler.java:64)
org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:86)
org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:62)
org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:324)
org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156)
org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:109)
org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:83)
org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:148)
\t… 28 more
Caused by: org.apache.ibatis.type.TypeException: Error setting null for parameter #1 with JdbcType OTHER . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property. Cause: java.sql.SQLException: Tipo de columna no válido: 1111
org.apache.ibatis.type.BaseTypeHandler.setParameter(BaseTypeHandler.java:47)
org.apache.ibatis.scripting.defaults.DefaultParameterHandler.setParameters(DefaultParameterHandler.java:87)
\t… 37 more
Caused by: java.sql.SQLException: Tipo de columna no válido: 1111
oracle.jdbc.driver.OracleStatement.getInternalType(OracleStatement.java:3978)
oracle.jdbc.driver.OraclePreparedStatement.setNullCritical(OraclePreparedStatement.java:4472)
oracle.jdbc.driver.OraclePreparedStatement.setNull(OraclePreparedStatement.java:4456)
oracle.jdbc.driver.OraclePreparedStatementWrapper.setNull(OraclePreparedStatementWrapper.java:1008)
com.zaxxer.hikari.pool.HikariProxyPreparedStatement.setNull(HikariProxyPreparedStatement.java)
org.apache.ibatis.type.BaseTypeHandler.setParameter(BaseTypeHandler.java:45)
\t… 38 more

Cheers


#2

Hi,

Do you pass null value in

?

Regards
Martin


#3

Hi Martin,

I found out the error. The exception was ocurring on a flowable managed class. We were loading a BPMN file into flowable. One call activity of this file didn’t have set attribute “calledElement”.

Thanks for your time.


#4

That’s why processDefinitionKey was null.