I model a process for fetching mail every minute (R/PT1M) from a exchange server.
It runs on camunda 7.5
It happens sometimes (not every time!) that process stops cycling after an exception due to connection reset. I know exchange service connection method is not thread safe, hence process create a new connection instance every time.
The connection reset exception is caused by an exchange server restart on every night.
Ok, I say:catch the exception but keep running…
No it’s not.
And not even a camunda/tomcat restart can ‘wakeup’ this process.
No errors. No exceptions.
Only modifying the model (file.bpmn) and re-deploy, the process starts again.
Any idea or explanation?
Details:
camunda 7.5
tomcat 7
Exchange server version: 2010
process.xml property-> <property name="jobExecutorActivate">true</property>
the way I start the process: in PostDeploy hook with
engine.getRuntimeService().startProcessInstanceById("my-cyclic-process", createVariables());
Exception:
SEVERE [pool-2-thread-3] org.camunda.commons.logging.BaseLogger.logError ENGINE-16004 Exception while closing command context: couldn't execute activity <serviceTask id="EmailFetcher" ...>: The request failed. The request failed. Connect to mail.service.it:443 failed: Connection refused
org.camunda.bpm.engine.impl.pvm.PvmException: couldn't execute activity <serviceTask id="EmailFetcher" ...>: The request failed. The request failed. Connect to mail.service.it:443 failed: Connection refused
at org.camunda.bpm.engine.impl.pvm.runtime.operation.PvmAtomicOperationActivityExecute.execute(PvmAtomicOperationActivityExecute.java:45)
.....
Caused by: microsoft.exchange.webservices.data.core.exception.service.remote.ServiceRequestException: The request failed. The request failed. Connect to mail.service.it:443 failed: Connection refused
at microsoft.exchange.webservices.data.core.request.SimpleServiceRequestBase.internalExecute(SimpleServiceRequestBase.java:74)
at microsoft.exchange.webservices.data.core.request.MultiResponseServiceRequest.execute(MultiResponseServiceRequest.java:158)
at microsoft.exchange.webservices.data.core.ExchangeService.bindToFolder(ExchangeService.java:504)
at microsoft.exchange.webservices.data.core.ExchangeService.bindToFolder(ExchangeService.java:523)
at microsoft.exchange.webservices.data.core.service.folder.Folder.bind(Folder.java:98)
at microsoft.exchange.webservices.data.core.service.folder.Folder.bind(Folder.java:147)