Dynamically created model causes “java.lang.ClassNotFoundException” when calling TaskListener class

I have a series of models defined in XML. We now have a required to create models dynamically without the need for XML files and any restart of the Camunda web app.

I have implemented the dynamic model and deploy as such (modelInstance is a BpmnModelInstance object):

BpmPlatform.getProcessEngineService()
                    .getProcessEngine("default")
                    .getRepositoryService()
                    .createDeployment().addModelInstance("bpmn", modelInstance)
                    .deploy();

but when the model is deployed and instantiated the following error is thrown:

Caused by: org.camunda.bpm.engine.ProcessEngineException: ENGINE-09008 Exception while instantiating class 'org.camunda.bpm.utility.AssignmentAPINotify': ENGINE-09017 Cannot load class 'org.camunda.bpm.utility.AssignmentAPINotify': org.camunda.bpm.utility.AssignmentAPINotify
    at org.camunda.bpm.engine.impl.util.EngineUtilLogger.exceptionWhileInstantiatingClass(EngineUtilLogger.java:78)
    at org.camunda.bpm.engine.impl.util.ClassDelegateUtil.instantiateDelegate(ClassDelegateUtil.java:50)
    at org.camunda.bpm.engine.impl.task.listener.ClassDelegateTaskListener.getTaskListenerInstance(ClassDelegateTaskListener.java:54)
    at org.camunda.bpm.engine.impl.task.listener.ClassDelegateTaskListener.notify(ClassDelegateTaskListener.java:42)
    at org.camunda.bpm.engine.impl.task.delegate.TaskListenerInvocation.invoke(TaskListenerInvocation.java:41)
    at org.camunda.bpm.engine.impl.delegate.DelegateInvocation.proceed(DelegateInvocation.java:54)
    at org.camunda.bpm.engine.impl.delegate.DefaultDelegateInterceptor.handleInvocationInContext(DefaultDelegateInterceptor.java:87)
    at org.camunda.bpm.engine.impl.delegate.DefaultDelegateInterceptor.handleInvocation(DefaultDelegateInterceptor.java:59)
    at org.camunda.bpm.engine.impl.persistence.entity.TaskEntity.fireEvent(TaskEntity.java:956)
    ... 119 more
Caused by: org.camunda.bpm.engine.ClassLoadingException: ENGINE-09017 Cannot load class 'org.camunda.bpm.utility.AssignmentAPINotify': org.camunda.bpm.utility.AssignmentAPINotify
    at org.camunda.bpm.engine.impl.util.EngineUtilLogger.classLoadingException(EngineUtilLogger.java:135)
    at org.camunda.bpm.engine.impl.util.ReflectUtil.loadClass(ReflectUtil.java:107)
    at org.camunda.bpm.engine.impl.util.ClassDelegateUtil.instantiateDelegate(ClassDelegateUtil.java:42)
    ... 126 more
Caused by: java.lang.ClassNotFoundException: org.camunda.bpm.utility.AssignmentAPINotify
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1275)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1104)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:348)
    at org.camunda.bpm.engine.impl.util.ReflectUtil.loadClass(ReflectUtil.java:84)
    ... 127 more

If I save the model as XML and restart there isn’t any issue.

I have been seeing if deploymentBuilder.addClasspathResource(“”); is the solution but nothing seems to work!

Any help would be gratefully appreciated as up against a deadline!

Hi @Scott_Large,

it would be nice if can describe your setup with more details:

  • Which runtime platform do you use?
  • How did you package your Java delegates?

Cheers, Ingo

Hello,

We are using Camunda 7.9 running in Tomcat. The delegates are built into the WAR file along with the current XML BPMN files.

Thanks,
Scott.

@Ingo_Richtsmeier anything else you need to know?

I have tried deploying the BPMN file to Camunda through the Rest API http://localhost:8080/engine-rest/deployment/create, which uploads successfully, but when I try to invoke the process I get the same error of “Cannot load class ‘org.camunda.bpm.utility.AssignmentAPINotify’: org.camunda.bpm.utility.AssignmentAPINotify’”. The full stack trace below:

Caused by: org.camunda.bpm.engine.ProcessEngineException: ENGINE-03051 There was an exception while invoking the TaskListener. Message: ‘ENGINE-09008 Exception while instantiating class ‘org.camunda.bpm.utility.AssignmentAPINotify’: ENGINE-09017 Cannot load class ‘org.camunda.bpm.utility.AssignmentAPINotify’: org.camunda.bpm.utility.AssignmentAPINotify’
at org.camunda.bpm.engine.impl.db.EnginePersistenceLogger.invokeTaskListenerException(EnginePersistenceLogger.java:446)
at org.camunda.bpm.engine.impl.persistence.entity.TaskEntity.fireEvent(TaskEntity.java:960)
at org.camunda.bpm.engine.impl.persistence.entity.TaskEntity.setAssignee(TaskEntity.java:861)
at org.camunda.bpm.engine.impl.task.TaskDecorator.initializeTaskAssignee(TaskDecorator.java:154)
at org.camunda.bpm.engine.impl.task.TaskDecorator.initializeTaskAssignments(TaskDecorator.java:144)
at org.camunda.bpm.engine.impl.task.TaskDecorator.decorate(TaskDecorator.java:59)
at org.camunda.bpm.engine.impl.bpmn.behavior.UserTaskActivityBehavior.performExecution(UserTaskActivityBehavior.java:54)
at org.camunda.bpm.engine.impl.bpmn.behavior.TaskActivityBehavior.execute(TaskActivityBehavior.java:65)
at org.camunda.bpm.engine.impl.pvm.runtime.operation.PvmAtomicOperationActivityExecute$2.callback(PvmAtomicOperationActivityExecute.java:57)
at org.camunda.bpm.engine.impl.pvm.runtime.operation.PvmAtomicOperationActivityExecute$2.callback(PvmAtomicOperationActivityExecute.java:46)
at org.camunda.bpm.engine.impl.pvm.runtime.PvmExecutionImpl.continueIfExecutionDoesNotAffectNextOperation(PvmExecutionImpl.java:1965)
at org.camunda.bpm.engine.impl.pvm.runtime.operation.PvmAtomicOperationActivityExecute.execute(PvmAtomicOperationActivityExecute.java:38)
at org.camunda.bpm.engine.impl.pvm.runtime.operation.PvmAtomicOperationActivityExecute.execute(PvmAtomicOperationActivityExecute.java:27)
at org.camunda.bpm.engine.impl.interceptor.AtomicOperationInvocation.execute(AtomicOperationInvocation.java:91)
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.invokeNext(CommandInvocationContext.java:125)
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.performNext(CommandInvocationContext.java:104)
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.performOperation(CommandInvocationContext.java:79)
at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:618)
at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:594)
at org.camunda.bpm.engine.impl.pvm.runtime.PvmExecutionImpl$5.callback(PvmExecutionImpl.java:1904)
at org.camunda.bpm.engine.impl.pvm.runtime.PvmExecutionImpl$5.callback(PvmExecutionImpl.java:1901)
at org.camunda.bpm.engine.impl.pvm.runtime.PvmExecutionImpl.continueExecutionIfNotCanceled(PvmExecutionImpl.java:1971)
at org.camunda.bpm.engine.impl.pvm.runtime.PvmExecutionImpl.dispatchDelayedEventsAndPerformOperation(PvmExecutionImpl.java:1920)
at org.camunda.bpm.engine.impl.pvm.runtime.PvmExecutionImpl.dispatchDelayedEventsAndPerformOperation(PvmExecutionImpl.java:1901)
at org.camunda.bpm.engine.impl.pvm.runtime.operation.PvmAtomicOperationTransitionNotifyListenerStart.eventNotificationsCompleted(PvmAtomicOperationTransitionNotifyListenerStart.java:57)
at org.camunda.bpm.engine.impl.pvm.runtime.operation.PvmAtomicOperationTransitionNotifyListenerStart.eventNotificationsCompleted(PvmAtomicOperationTransitionNotifyListenerStart.java:27)
at org.camunda.bpm.engine.impl.core.operation.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:65)
at org.camunda.bpm.engine.impl.interceptor.AtomicOperationInvocation.execute(AtomicOperationInvocation.java:91)
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.invokeNext(CommandInvocationContext.java:125)
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.performNext(CommandInvocationContext.java:104)
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.performOperation(CommandInvocationContext.java:79)
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.performOperation(CommandInvocationContext.java:69)
at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:629)
at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:604)
at org.camunda.bpm.engine.impl.core.operation.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:58)
at org.camunda.bpm.engine.impl.interceptor.AtomicOperationInvocation.execute(AtomicOperationInvocation.java:91)
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.invokeNext(CommandInvocationContext.java:125)
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.performNext(CommandInvocationContext.java:104)
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.performOperation(CommandInvocationContext.java:79)
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.performOperation(CommandInvocationContext.java:69)
at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:629)
at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:604)
at org.camunda.bpm.engine.impl.core.operation.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:58)
at org.camunda.bpm.engine.impl.interceptor.AtomicOperationInvocation.execute(AtomicOperationInvocation.java:91)
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.invokeNext(CommandInvocationContext.java:125)
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.performNext(CommandInvocationContext.java:104)
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.performOperation(CommandInvocationContext.java:79)
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.performOperation(CommandInvocationContext.java:69)
at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:629)
at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:604)
at org.camunda.bpm.engine.impl.core.operation.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:58)
at org.camunda.bpm.engine.impl.interceptor.AtomicOperationInvocation.execute(AtomicOperationInvocation.java:91)
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.invokeNext(CommandInvocationContext.java:125)
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.performNext(CommandInvocationContext.java:104)
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.performOperation(CommandInvocationContext.java:79)
at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:618)
at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:594)
at org.camunda.bpm.engine.impl.pvm.runtime.operation.PvmAtomicOperationTransitionCreateScope.scopeCreated(PvmAtomicOperationTransitionCreateScope.java:34)
at org.camunda.bpm.engine.impl.pvm.runtime.operation.PvmAtomicOperationCreateScope.execute(PvmAtomicOperationCreateScope.java:50)
at org.camunda.bpm.engine.impl.pvm.runtime.operation.PvmAtomicOperationCreateScope.execute(PvmAtomicOperationCreateScope.java:24)
at org.camunda.bpm.engine.impl.interceptor.AtomicOperationInvocation.execute(AtomicOperationInvocation.java:91)
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.invokeNext(CommandInvocationContext.java:125)
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.performNext(CommandInvocationContext.java:112)
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.performOperation(CommandInvocationContext.java:79)
at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:618)
at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:594)
at org.camunda.bpm.engine.impl.pvm.runtime.PvmExecutionImpl.start(PvmExecutionImpl.java:237)
at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.start(ExecutionEntity.java:431)
at org.camunda.bpm.engine.impl.cmd.StartProcessInstanceCmd.execute(StartProcessInstanceCmd.java:59)
at org.camunda.bpm.engine.impl.cmd.StartProcessInstanceCmd.execute(StartProcessInstanceCmd.java:31)
at org.camunda.bpm.engine.impl.interceptor.CommandExecutorImpl.execute(CommandExecutorImpl.java:24)
at org.camunda.bpm.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:104)
at org.camunda.bpm.engine.impl.interceptor.ProcessApplicationContextInterceptor.execute(ProcessApplicationContextInterceptor.java:66)
at org.camunda.bpm.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30)
at org.camunda.bpm.engine.impl.ProcessInstantiationBuilderImpl.executeWithVariablesInReturn(ProcessInstantiationBuilderImpl.java:162)
at org.camunda.bpm.engine.rest.sub.repository.impl.ProcessDefinitionResourceImpl.startProcessInstanceAtActivities(ProcessDefinitionResourceImpl.java:169)
at org.camunda.bpm.engine.rest.sub.repository.impl.ProcessDefinitionResourceImpl.startProcessInstance(ProcessDefinitionResourceImpl.java:119)
… 43 more
Caused by: org.camunda.bpm.engine.ProcessEngineException: ENGINE-09008 Exception while instantiating class ‘org.camunda.bpm.utility.AssignmentAPINotify’: ENGINE-09017 Cannot load class ‘org.camunda.bpm.utility.AssignmentAPINotify’: org.camunda.bpm.utility.AssignmentAPINotify
at org.camunda.bpm.engine.impl.util.EngineUtilLogger.exceptionWhileInstantiatingClass(EngineUtilLogger.java:78)
at org.camunda.bpm.engine.impl.util.ClassDelegateUtil.instantiateDelegate(ClassDelegateUtil.java:50)
at org.camunda.bpm.engine.impl.task.listener.ClassDelegateTaskListener.getTaskListenerInstance(ClassDelegateTaskListener.java:54)
at org.camunda.bpm.engine.impl.task.listener.ClassDelegateTaskListener.notify(ClassDelegateTaskListener.java:42)
at org.camunda.bpm.engine.impl.task.delegate.TaskListenerInvocation.invoke(TaskListenerInvocation.java:41)
at org.camunda.bpm.engine.impl.delegate.DelegateInvocation.proceed(DelegateInvocation.java:54)
at org.camunda.bpm.engine.impl.delegate.DefaultDelegateInterceptor.handleInvocationInContext(DefaultDelegateInterceptor.java:87)
at org.camunda.bpm.engine.impl.delegate.DefaultDelegateInterceptor.handleInvocation(DefaultDelegateInterceptor.java:59)
at org.camunda.bpm.engine.impl.persistence.entity.TaskEntity.fireEvent(TaskEntity.java:956)
… 118 more
Caused by: org.camunda.bpm.engine.ClassLoadingException: ENGINE-09017 Cannot load class ‘org.camunda.bpm.utility.AssignmentAPINotify’: org.camunda.bpm.utility.AssignmentAPINotify
at org.camunda.bpm.engine.impl.util.EngineUtilLogger.classLoadingException(EngineUtilLogger.java:135)
at org.camunda.bpm.engine.impl.util.ReflectUtil.loadClass(ReflectUtil.java:107)
at org.camunda.bpm.engine.impl.util.ClassDelegateUtil.instantiateDelegate(ClassDelegateUtil.java:42)
… 125 more
Caused by: java.lang.ClassNotFoundException: org.camunda.bpm.utility.AssignmentAPINotify
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1275)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1104)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:398)
at org.camunda.bpm.engine.impl.util.ReflectUtil.loadClass(ReflectUtil.java:84)
… 126 more

Hi @Scott_Large,

I assume you use the prepackaged distribution of the process engine inside a tomact server: https://docs.camunda.org/manual/7.14/introduction/supported-environments/#container-managed-process-engine-and-camunda-cockpit-tasklist-admin

In this scenario, your process application registers in the shared, container managed process engine during the deployment: https://docs.camunda.org/manual/7.14/user-guide/process-applications/the-processes-xml-deployment-descriptor/#process-application-deployment.

If you deploy a new process or a new version of the process via the Java or Rest API, the container managed engine didn’t know that it belongs to your process application and it could not switch the context into the process application to access the java classes. (Class not found exception).

To overcome this you can

Hope this helps, Ingo

@Ingo_Richtsmeier thank you.

Register the deployed process with an existing process application seems like the best option. I assume I can call this after I have deployed the process. How do I find the ProcessApplicationReference?

Thanks,
Scott.

@Ingo_Richtsmeier

All sorted now.

Adding the following code worked:

Deployment deployment = deploymentBuilder.deploy();

ManagementService managementService = processEngine.getManagementService();
managementService.registerProcessApplication(deployment.getId(), PROCESS_APPLICATION_REFERENCE);

1 Like

Hi @Scott_Large,

thank you for sharing the solution.

Cheers, Ingo

Hi @Ingo_Richtsmeier

Thanks for your help last week.

This worked perfectly until I restarted the web app and then the ClassNotFoundException error came back.

So to be clear, creating the workflow on the fly and invoking the workflow now works but if I restart Tomcat and try and invoke the workflow again I get the ClassNotFoundException.

Any suggestions for this?

Thanks,
Scott.

I have fixed this by invoking the following method on start up of the web app

/**
 * Registers any deployments that haven't been on startup
 */
private void registerDeployments() {
    ProcessEngine processEngine = BpmPlatform.getProcessEngineService().getDefaultProcessEngine();
    ManagementService managementService = processEngine.getManagementService();
    Set<String> registeredDeployments = managementService.getRegisteredDeployments();
    
    LOG.info(registeredDeployments != null ? MessageFormat.format("{0} registered deployment(s)", registeredDeployments.size()) : "No deployments registered");
    
    RepositoryService repositoryService = processEngine.getRepositoryService();
    List<Deployment> deployments = repositoryService.createDeploymentQuery().orderByDeploymentId().desc().list();
    
    deployments.stream().filter((d) -> (d.getName() == null)).map((d) -> {
        managementService.registerProcessApplication(d.getId(), WorkflowBuilder.PROCESS_APPLICATION_REFERENCE);
        return d;
    }).forEachOrdered((d) -> {
        LOG.info(MessageFormat.format("Registering deployment id: {0}", d.getId()));
    });
    
    registeredDeployments = managementService.getRegisteredDeployments();
    
    LOG.info(MessageFormat.format("UPDATE: {0}", (registeredDeployments != null ? MessageFormat.format("{0} registered deployment(s)", registeredDeployments.size()) : "No deployments registered")));
}
1 Like

@Scott_Large

Can you share where Exactly do you call this function?
I have a rest api which deploys processes to a new process engine but to start this process I have used a class which is deployed when the default engine is created.
I have added the code to register process application like

  1. To get process application reference

public static ProcessApplicationReference processApplicationReference() {
ProcessApplicationReference processApplication = null;
ProcessApplicationReference processApplication1 = null;
ProcessEngine processEngine = BpmPlatform.getProcessEngineService().getDefaultProcessEngine();
ProcessEngineConfiguration defaultProcessEngineConfiguration = processEngine.getProcessEngineConfiguration();
ProcessApplicationManager defaultProcessApplicationManager = ((ProcessEngineConfigurationImpl) defaultProcessEngineConfiguration).getProcessApplicationManager();
java.util.Set processAppNames = BpmPlatform.getProcessApplicationService().getProcessApplicationNames();
for (String appName : processAppNames) {

		ProcessApplicationInfo prossApp = BpmPlatform.getProcessApplicationService()
				.getProcessApplicationInfo(appName);
		List<ProcessApplicationDeploymentInfo> deplymentInfo = prossApp.getDeploymentInfo();
		
		for (ProcessApplicationDeploymentInfo processApplicationDeploymentInfo : deplymentInfo) {
			if (appName.equals("**ProjectName_WithThe class_Deployed**")) {
				processApplication1 = defaultProcessApplicationManager.getProcessApplicationForDeployment(processApplicationDeploymentInfo.getDeploymentId());
				if(processApplication1 != null) {
					processApplication = processApplication1;
				System.out.println("processApplication   " + processApplication);
				}
			}
		}  
	}
	return processApplication;
}
  1. public String deployProcessToEngine(String engineId, String resourceName, InputStream inputStream) {
    try {

    	ProcessEngine processEngine = getProcessEngine(engineId);
    	 EmbeddedProcessApplication processApplication = null;
    	ProcessEngineConfiguration defaultProcessEngineConfiguration = processEngine.getProcessEngineConfiguration();
    	DeploymentBuilder deploymentBuilder = processEngine.getRepositoryService().createDeployment();
    	deploymentBuilder.tenantId(engineId);
    	Deployment deployment = deploymentBuilder.addInputStream(resourceName, inputStream).deploy();
    	
    	ProcessApplicationManager defaultProcessApplicationManager = ((ProcessEngineConfigurationImpl) defaultProcessEngineConfiguration).getProcessApplicationManager();
    	
    	
    	processEngine.getManagementService().registerProcessApplication(deployment.getName(), processApplicationReference());
    	return "Deployed process to engine";
    } catch (Exception e) {
    	e.printStackTrace();
    }
    return "Deployment failed";
    

    }

the deployment is successful. But I get the class cannot be loaded exception.

STACKTRACE:
(default task-12)

INFO [org.camunda.bpm.application] (default task-12) ENGINE-07021 ProcessApplication ProjectName_WithThe class_Deployed registered for DB deployments [null]. Deployment does not provide any process definitions.Deployment does not provide any case definitions.

10:25:55,200 ERROR [org.camunda.bpm.engine.context] (default task-14) ENGINE-16004 Exception while closing command context: ENGINE-09008 Exception while instantiating class ‘org.camunda.config.tasklistService’:
ENGINE-09017 Cannot load class ‘org.camunda.config.tasklistService’: org.camunda.config.tasklistService from [Module "deployment.NameOf Project which deployed the processr" from Service Module Loader]: org.camunda.bpm.engine.ProcessEngineException: ENGINE-09008 Exception while instantiating class ‘org.camunda.config.tasklistService’: ENGINE-09017 Cannot load class ‘org.camunda.config.tasklistService’: org.camunda.config.tasklistService from [Module "deployment.sNameOf Project which deployed the process" from Service Module Loader]

I want to Switch ProjectName_WithThe class_Deployed and Module "deployment.sNameOf Project which deployed the process

Can you help me out with the same