Error in Unable to find resource at path

Hi,

I am having a problem to use groovy script, I could not understand. The log is below:

Caused by: org.camunda.bpm.engine.exception.NotFoundException: ENGINE-09024 Unable to find resource at path contabiliza_corte_para_iniciar_arremate.groovy
at org.camunda.bpm.engine.impl.util.EngineUtilLogger.cannotFindResource(EngineUtilLogger.java:178)
at org.camunda.bpm.engine.impl.util.ResourceUtil.loadResourceContent(ResourceUtil.java:76)
    ......

In the cmmn:


<cmmn:task id=“Task_0a3yoy0” name=“Corte”>
cmmn:extensionElements
<camunda:caseExecutionListener event=“complete”>
<camunda:script scriptFormat=“groovy” resource=“contabiliza_corte_para_iniciar_arremate.groovy” />
</camunda:caseExecutionListener>
</cmmn:extensionElements>
</cmmn:task>

The problem is I deploy the same source (I suppose) to generate a new .war again and it is working fine for the new cases.

Now, there is a file in XXX/WEB-INF/classes but the old cases still not working.
How can I investigate it ? How camunda access old varsion in diferent cases of the model and resource files ?

Thanks in advance !

Hi @carloborsoi,

The circumstances in which this exception occurs are not completely clear to me. Could you please describe in more detail what you mean by old and new cases? Maybe a step-by-step example would be helpful for understanding.

Cheers,
Thorben

Hi @thorben,

Let me describe in detail.

Background: I am using the Apache Tomcat based distribution with 11 process application: 2 CMM (One trigger the another) and 9 BPM (Started by the second CMM)

  1. There were an application running

  2. In 30/01 I deploy all 11 process application and copy all .war to webapps.There were cases started in this deploy (I named it “Old Cases”), and its present errors show in last email.

  3. In 05/02 I deploy the same CMM application and copy again this .war to webapps. New cases are Started (“New Cases”)

  4. The new cases works well.

I think there is no problema with Camunda but I would like to investigate ig I did something wrong (copy wrong file … )
Some questions:
How Camunda access diferent versions of the same process application ? Is it stored in database or in pecifica file ?
If it is stored in database, which tables are involved in it ? And, how it is stored a groovy script, for example ?

How can I point the old cases to new CMM process application ?

Thanks
Carlo

By default, Camunda stores only the CMMN XML in the database (you will find it in ACT_GE_BYTEARRAY). Any referenced code, such as Java classes or groovy scripts are resolved from the process application that is registered with the respective deployment. So make sure the process application still contains the required script. On the question which process application gets registered for which deployment, I recommend this docs link: https://docs.camunda.org/manual/7.8/user-guide/process-applications/the-processes-xml-deployment-descriptor/#process-application-deployment. It explains how process applications are related and assigned to deployments that have been made before.

Cheers,
Thorben

Thank you @thorben ! I was read the documentation but did not pay atention in the process application deploy , I will read carefully.

Best,
Carlo

@carloborsoi ,Were you able to resolve this issue , I am also facing the same.

Hi @prasadps ,

I did not solve it, in fact.

But I found a “workaround”. It works but it not be considered a solution.
I copy the script file (using the same folder path) to another process application.
It looks like they use the wrong base folder (for another process application, “another .war”) to find the script.

Possible there are some compilation configuration or code structure needs to be fix for a solution.