I have two process applications (Process2 and Process2) that are deployed as WAR files to my Camunda 7.14 Tomcat Standalone server. These two WAR files contain some common re-usable bpmn and javascript files. The issue arises when I deploy the Process2 WAR file after Process1 WAR file is deployed. After deploying Process2 WAR file , if I start Process1 I am getting the error ENGINE-09024 Unable to find resource at path classpath://sendInvoice.js’ . If you deploy the Process1 WAR again , it will work.
I have replicated this issue and uploaded the code in Github. Please find the URL.
Steps to replicate
Deploy Process1 war.
Deploy Process2 war.
Start Process1. (This would give the error mentioned above. If not make a small change in process2 and deploy it again. then start Process1 again)
Could someone please help me out on this. It would be of much help to me.
Could someone please help me out. This issue has not yet resolved and it is critical for us.
This is my Process 1 and Process 2 ( both process applications uploaded in Github). I have sendMail.bpmn in both process applications. The issue occurs when Process 2 is deployed (sometimes second deployment of Process 2) after Process 1 deployment.
Hi @prasadps
Can you let me know if this works correctly on bother applications if they are deployed on their own?
And that the problem only occurs when both are deployed inside the same application server?
This works perfectly fine when they are deployed only one at a time. Once they are deployed together inside tomcat , the issue occurs. Basically after Process 02 is deployed, Process 1 is not able to find scripts that are present only in Process 1.
Yes. This happens specifically to scripts. If you remove the common bpmn file. ie sendMail.bpmn file from
one of the War file , the issue wont occur. So what I understand is the existence of a common bpmn file. having same content. I understand once war file is deployed , script context is lost for the other application.
Ok, i see the problem here.
You can’t have two different processes with the same process key running against the same database.
If you deploy two different models with the same ID the engine is going to assume they’re two different versions of the same process.
So, i think you’re going to need to change the name of one of the processes or keep only one of the processes.
I should also mention - that if you deploy the process in just one of the WAR files it will still be reachable by all processes, even ones deployed in other WAR files.
So it should just work if you remove it from one of them without any additional changes.
I removed the common process files and is working fine. There is one more finding even if we set additionalResourceSuffixes property as js in process.xml , still javascript files wont be uploaded to database. It will still take only from the resources folder. So we cant have common script files across process applications.