We have set the lockTimeInMillis to 1200000 in the bpm-platform.xml.
But it takes no effect. In a Servicetask we upload a file to a ftp-server, that takes longer than five minutes. But after five minutes, a second thread starts the same process and so the file is overwritten again and again.
<job-executor>
<job-acquisition name="default">
<properties>
<property name="lockTimeInMillis">1200000</property>
<property name="maxJobsPerAcquisition">50</property>
<property name="waitTimeInMillis">5000</property>
</properties>
</job-acquisition>
<properties>
<!-- Note: the following properties only take effect in a Tomcat environment -->
<property name="queueSize">50</property>
<property name="corePoolSize">30</property>
<property name="maxPoolSize">50</property>
<property name="keepAliveTime">0</property>
</properties>
</job-executor>
Has anyone an idea why? The Tomcat Server is definitely using this config-file. We use Camunda 7.7 and the standalone configuration.
Thanks!
Please provide the process model that you use to verify this behavior.
There is a listener on the “Start” node, the listener isn’t called multiple times. Only the Service Task.
In the log files is nothing unusual to see. After a time (much more than 5 minutes) there is an optimistic locking exception.
I cannot find a configured transaction timeout, where can I find it?
Is it possible to get/set the lockTimeInMillis in the Java Code? If yes, how to do that? I have some init-methods on startup where I could set it.
Here the complete bpm-platform.xml (4.0 KB), maybe you can see there something wrong.
Thanks for your help,
I solved the problem by adding a bean of the RuntimeContainerJobExecutor to the application context and set this bean as property in the processEngineConfiguration.
Hello there,
I have the exact same issue. But I struggle a little bit to understand your solution.
Can you please explain me what do you mean with application context and how did you set that bean as a property in the processEngine Config?