Update failing v5.23.0 to v6.0.0

I was able to go from Activiti 5.22.0 to Flowable 5.22.0 and then 5.23.0. Now I am testing the move from v 5.23.0 to 6.0.0. According to the Migration Guide, I have the following setup:

<bean id="processEngineConfiguration" class="org.flowable.spring.SpringProcessEngineConfiguration" >
<property name="flowable5CompatibilityEnabled" value="true" />
<property name="flowable5CompatibilityHandlerFactory" ref="flowable5CompabilityFactory" />
...

<bean id="flowable5CompabilityFactory" class="org.activiti.compatibility.spring.SpringFlowable5CompatibilityHandlerFactory" />

Also included in my pom.xml: flowable5-compatibility, flowable5-spring, flowable5-spring-compatibility

When I try to deploy the app, I am getting the following exception:

java.lang.NoSuchMethodError: org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl.setFlowable5CompatibilityHandler

Am I missing something else?

Hi Ivan.

try

org.flowable.engine.impl.cfg.ProcessEngineConfigurationImpl.

Regards
Martin

Martin,
The only org.activiti reference that I use in my configuration is the org.activiti.compatibility.spring.SpringFlowable5CompatibilityHandlerFactory. I tried using org.flowable.compatibility.spring.SpringFlowable5CompatibilityHandlerFactory as states in the Flowable Migration Guide, but I get java.lang.ClassNotFoundException.

Thanks,
–Ivan

Here is the exception that I am getting:

Caused by: java.lang.NoSuchMethodError: org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl.setFlowable5CompatibilityHandler(Lorg/flowable/engine/compatibility/Flowable5CompatibilityHandler;)Lorg/activiti/engine/impl/cfg/ProcessEngineConfigurationImpl;
at org.flowable.compatibility.DefaultProcessEngineFactory.copyConfigItems(DefaultProcessEngineFactory.java:51)
at org.activiti.compatibility.spring.DefaultSpringProcessEngineFactory.buildProcessEngine(DefaultSpringProcessEngineFactory.java:32)
at org.flowable.compatibility.DefaultFlowable5CompatibilityHandler.getProcessEngine(DefaultFlowable5CompatibilityHandler.java:945)
at org.flowable.compatibility.DefaultFlowable5CompatibilityHandler.getRawProcessEngine(DefaultFlowable5CompatibilityHandler.java:925)
at org.flowable.engine.impl.cfg.ProcessEngineConfigurationImpl.buildProcessEngine(ProcessEngineConfigurationImpl.java:834)
at org.flowable.spring.SpringProcessEngineConfiguration.buildProcessEngine(SpringProcessEngineConfiguration.java:68)
at org.flowable.spring.ProcessEngineFactoryBean.getObject(ProcessEngineFactoryBean.java:57)
at org.flowable.spring.ProcessEngineFactoryBean.getObject(ProcessEngineFactoryBean.java:32)
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:168)

Hi,

That’s not true. See exception:

try

org.flowable.engine.impl.cfg.ProcessEngineConfigurationImpl.

Regards
Martin

Martin,
You are suggesting to “try org.flowable.engine.impl.cfg.ProcessEngineConfigurationImpl”, but where do I need to use it in my configuration setup? I just don’t get it.

–Ivan

Hi Ivan,

My assumption is that you are calling setFlowable5CompatibilityHandler method on org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl. There is no such a method, because compatibility handler was implemented in org.flowable.engine.impl.cfg.ProcessEngineConfigurationImpl.
This compatibility handler is between activiti -> flowable. It dos not make sense to set in on activiti procecess engine configuration.

Regards
Martin