Registering an implementation of TaskLifeCycleEventListener

238 views
Skip to first unread message

Tony Cattlin

unread,
Aug 5, 2016, 4:32:08 AM8/5/16
to jBPM Development
Hi, 

hopefully an easy one... I want to hook into tasks to be able to get taskid and status so have implemented TaskLifeCycleEventListener. How do I register the new class ? Can I use kmodule like my ProcessEventListener ? If so, how as I cant seem to get the obvious to work.

cheers

Tony

Tony Cattlin

unread,
Aug 5, 2016, 4:33:43 AM8/5/16
to jBPM Development
6.3 btw...

Maciej Swiderski

unread,
Aug 5, 2016, 4:42:22 AM8/5/16
to Tony Cattlin, jBPM Development
use deployment descriptor that is accessible from project editor

Maciej

--
You received this message because you are subscribed to the Google Groups "jBPM Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jbpm-development+unsubscribe@googlegroups.com.
To post to this group, send email to jbpm-development@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jbpm-development/85787334-bc60-4c8c-9cb7-fd05016130a2%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Tony Cattlin

unread,
Aug 5, 2016, 5:20:39 AM8/5/16
to Maciej Swiderski, jBPM Development
Thanks Maciej, 

I am having some trouble getting my junit to recognise the deployment descriptor. Is it enough to have the kie-deployment-descriptor.xml in the resources/META-INF folder when running the junit in eclipse or do I need to do more to register my handlers ?

TIA

Tony 

Maciej Swiderski

unread,
Aug 5, 2016, 5:25:22 AM8/5/16
to Tony Cattlin, jBPM Development
it depends on how you write the junit test - whenever you use runtime manager or jbpm services api then deployment descriptor should be found and used

Maciej

Tony Cattlin

unread,
Aug 5, 2016, 6:16:14 AM8/5/16
to Maciej Swiderski, jBPM Development
Thanks again. I havent managed to get my junit to recognise it yet (thought it would just pick it up automatically) but it appears when I build and then try to deploy through kie workbench it at least is trying to use the deployment descriptor but I am gett the below error. Any ideas ?

2016-08-05 11:06:00,575 WARN  [org.jbpm.kie.services.impl.KModuleDeploymentService] (default task-31) Unexpected error while deploying unit com.db.nms.incr:incrprocess:5:kbaseincr:ksessionincr: java.lang.RuntimeException: java.lang.NullPointerException
at org.jbpm.kie.services.impl.AbstractDeploymentService.commonDeploy(AbstractDeploymentService.java:161) [jbpm-kie-services-6.3.0.Final.jar:6.3.0.Final]
at org.jbpm.kie.services.impl.KModuleDeploymentService.deploy(KModuleDeploymentService.java:163) [jbpm-kie-services-6.3.0.Final.jar:6.3.0.Final]
at org.jbpm.services.cdi.impl.DeploymentServiceCDIImpl$Proxy$_$$_WeldClientProxy.deploy(Unknown Source) [jbpm-services-cdi-6.3.0.Final.jar:6.3.0.Final]
at org.jbpm.console.ng.bd.backend.server.DeploymentManagerEntryPointImpl.deploy(DeploymentManagerEntryPointImpl.java:193) [jbpm-console-ng-business-domain-backend-6.3.0.Final.jar:6.3.0.Final]
at org.jbpm.console.ng.bd.backend.server.DeploymentManagerEntryPointImpl.deploy(DeploymentManagerEntryPointImpl.java:157) [jbpm-console-ng-business-domain-backend-6.3.0.Final.jar:6.3.0.Final]
at org.jbpm.console.ng.bd.backend.server.DeploymentManagerEntryPointImpl$Proxy$_$$_WeldClientProxy.deploy(Unknown Source) [jbpm-console-ng-business-domain-backend-6.3.0.Final.jar:6.3.0.Final]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_20]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0_20]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_20]
at java.lang.reflect.Method.invoke(Method.java:483) [rt.jar:1.8.0_20]
at org.jboss.errai.bus.server.io.AbstractRPCMethodCallback.invokeMethodFromMessage(AbstractRPCMethodCallback.java:48) [errai-bus-3.2.0.Final.jar:3.2.0.Final]
at org.jboss.errai.bus.server.io.VoidRPCEndpointCallback.callback(VoidRPCEndpointCallback.java:20) [errai-bus-3.2.0.Final.jar:3.2.0.Final]
at org.jboss.errai.bus.server.io.RemoteServiceCallback.callback(RemoteServiceCallback.java:54) [errai-bus-3.2.0.Final.jar:3.2.0.Final]
at org.jboss.errai.cdi.server.CDIExtensionPoints$2.callback(CDIExtensionPoints.java:410) [errai-weld-integration-3.2.0.Final.jar:3.2.0.Final]
at org.jboss.errai.bus.server.DeliveryPlan.deliver(DeliveryPlan.java:47) [errai-bus-3.2.0.Final.jar:3.2.0.Final]
at org.jboss.errai.bus.server.ServerMessageBusImpl.sendGlobal(ServerMessageBusImpl.java:296) [errai-bus-3.2.0.Final.jar:3.2.0.Final]
at org.jboss.errai.bus.server.SimpleDispatcher.dispatchGlobal(SimpleDispatcher.java:46) [errai-bus-3.2.0.Final.jar:3.2.0.Final]
at org.jboss.errai.bus.server.service.ErraiServiceImpl.store(ErraiServiceImpl.java:97) [errai-bus-3.2.0.Final.jar:3.2.0.Final]
at org.jboss.errai.bus.server.service.ErraiServiceImpl.store(ErraiServiceImpl.java:114) [errai-bus-3.2.0.Final.jar:3.2.0.Final]
at org.jboss.errai.bus.server.servlet.DefaultBlockingServlet.doPost(DefaultBlockingServlet.java:142) [errai-bus-3.2.0.Final.jar:3.2.0.Final]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) [jboss-servlet-api_3.1_spec-1.0.0.Final.jar:1.0.0.Final]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [jboss-servlet-api_3.1_spec-1.0.0.Final.jar:1.0.0.Final]
at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:130) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
at org.uberfire.ext.security.server.SecureHeadersFilter.doFilter(SecureHeadersFilter.java:53) [uberfire-servlet-security-0.7.3.Final.jar:0.7.3.Final]
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
at org.uberfire.ext.security.server.SecurityIntegrationFilter.doFilter(SecurityIntegrationFilter.java:45) [uberfire-servlet-security-0.7.3.Final.jar:0.7.3.Final]
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:85) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:61) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [undertow-core-1.0.15.Final.jar:1.0.15.Final]
at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:113) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:56) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
at io.undertow.server.handlers.DisableCacheHandler.handleRequest(DisableCacheHandler.java:27) [undertow-core-1.0.15.Final.jar:1.0.15.Final]
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [undertow-core-1.0.15.Final.jar:1.0.15.Final]
at io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHandler.java:51) [undertow-core-1.0.15.Final.jar:1.0.15.Final]
at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:45) [undertow-core-1.0.15.Final.jar:1.0.15.Final]
at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:61) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
at io.undertow.servlet.handlers.security.ServletSecurityConstraintHandler.handleRequest(ServletSecurityConstraintHandler.java:56) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58) [undertow-core-1.0.15.Final.jar:1.0.15.Final]
at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76) [undertow-core-1.0.15.Final.jar:1.0.15.Final]
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [undertow-core-1.0.15.Final.jar:1.0.15.Final]
at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [undertow-core-1.0.15.Final.jar:1.0.15.Final]
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [undertow-core-1.0.15.Final.jar:1.0.15.Final]
at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:240) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:73) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:146) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:177) [undertow-core-1.0.15.Final.jar:1.0.15.Final]
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:727) [undertow-core-1.0.15.Final.jar:1.0.15.Final]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_20]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_20]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_20]
Caused by: java.lang.NullPointerException
at org.mvel2.util.ErrorUtil.rewriteIfNeeded(ErrorUtil.java:12) [mvel2-2.2.6.Final.jar:]
at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeObjectCreation(ReflectiveAccessorOptimizer.java:1239) [mvel2-2.2.6.Final.jar:]
at org.mvel2.ast.NewObjectNode.getReducedValueAccelerated(NewObjectNode.java:218) [mvel2-2.2.6.Final.jar:]
at org.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:42) [mvel2-2.2.6.Final.jar:]
at org.mvel2.MVEL.executeExpression(MVEL.java:969) [mvel2-2.2.6.Final.jar:]
at org.drools.core.util.MVELSafeHelper$RawMVELEvaluator.executeExpression(MVELSafeHelper.java:511) [drools-core-6.3.0.Final.jar:6.3.0.Final]
at org.jbpm.runtime.manager.impl.deploy.MVELObjectModelResolver.getInstance(MVELObjectModelResolver.java:59) [jbpm-runtime-manager-6.3.0.Final.jar:6.3.0.Final]
at org.jbpm.runtime.manager.impl.DefaultRegisterableItemsFactory.getInstanceFromModel(DefaultRegisterableItemsFactory.java:213) [jbpm-runtime-manager-6.3.0.Final.jar:6.3.0.Final]
at org.jbpm.runtime.manager.impl.DefaultRegisterableItemsFactory.getEventListenerFromDescriptor(DefaultRegisterableItemsFactory.java:277) [jbpm-runtime-manager-6.3.0.Final.jar:6.3.0.Final]
at org.jbpm.services.cdi.impl.manager.InjectableRegisterableItemsFactory.getProcessEventListeners(InjectableRegisterableItemsFactory.java:203) [jbpm-services-cdi-6.3.0.Final.jar:6.3.0.Final]
at org.jbpm.runtime.manager.impl.AbstractRuntimeManager.registerItems(AbstractRuntimeManager.java:130) [jbpm-runtime-manager-6.3.0.Final.jar:6.3.0.Final]
at org.jbpm.runtime.manager.impl.SingletonRuntimeManager.init(SingletonRuntimeManager.java:104) [jbpm-runtime-manager-6.3.0.Final.jar:6.3.0.Final]
at org.jbpm.runtime.manager.impl.RuntimeManagerFactoryImpl.newSingletonRuntimeManager(RuntimeManagerFactoryImpl.java:64) [jbpm-runtime-manager-6.3.0.Final.jar:6.3.0.Final]
at org.jbpm.services.cdi.impl.manager.RuntimeManagerFactoryCDIImpl$Proxy$_$$_WeldClientProxy.newSingletonRuntimeManager(Unknown Source) [jbpm-services-cdi-6.3.0.Final.jar:6.3.0.Final]
at org.jbpm.kie.services.impl.AbstractDeploymentService.commonDeploy(AbstractDeploymentService.java:134) [jbpm-kie-services-6.3.0.Final.jar:6.3.0.Final]


You received this message because you are subscribed to a topic in the Google Groups "jBPM Development" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/jbpm-development/nTyEmIkUl8o/unsubscribe.
To unsubscribe from this group and all its topics, send an email to jbpm-development+unsubscribe@googlegroups.com.

To post to this group, send email to jbpm-development@googlegroups.com.

Maciej Swiderski

unread,
Aug 5, 2016, 6:21:49 AM8/5/16
to Tony Cattlin, jBPM Development
share your deployment descriptor (the xml) so we could see what’s going on there

Maciej

Tony Cattlin

unread,
Aug 5, 2016, 6:26:20 AM8/5/16
to Maciej Swiderski, jBPM Development
Thanks Maciej... much appreciated...

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<deployment-descriptor xsi:schemaLocation="http://www.jboss.org/jbpm deployment-descriptor.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

    <persistence-unit>org.jbpm.domain</persistence-unit>

    <audit-persistence-unit>org.jbpm.domain</audit-persistence-unit>

    <audit-mode>JPA</audit-mode>

    <persistence-mode>JPA</persistence-mode>

    <runtime-strategy>SINGLETON</runtime-strategy>

    <marshalling-strategies/>

    <event-listeners>

      <event-listener>

        <resolver>mvel</resolver>

        <identifier>new com.db.nms.incr.IncrEventListener(ksession)</identifier>

        <parameters/>

      </event-listener>

    </event-listeners>

    <task-event-listeners>

        <task-event-listener>

            <resolver>mvel</resolver>

            <identifier>new com.db.nms.incr.IncrTaskListener(runtimeManager)</identifier>

        </task-event-listener>

    </task-event-listeners>

    <globals/>

    <work-item-handlers>       

       <work-item-handler>

            <resolver>mvel</resolver>

            <identifier>new com.db.nms.incr.IncrProcessSupportHandler()</identifier>

            <parameters/>

            <name>IncrProcessSupport</name>

        </work-item-handler>

    </work-item-handlers>

    <environment-entries/>

    <configurations/>

    <required-roles/>

    <remoteable-classes/>

</deployment-descriptor>

Maciej Swiderski

unread,
Aug 5, 2016, 6:33:33 AM8/5/16
to Tony Cattlin, jBPM Development
there seems to be some issue with creation of this object new com.db.nms.incr.IncrEventListener(ksession) - best would be to debug but could be good as well to double check what that constuctor does to make sure it does not throw any exceptions… that might be swallowed

Maciej 

Tony Cattlin

unread,
Aug 5, 2016, 6:44:35 AM8/5/16
to Maciej Swiderski, jBPM Development
It uses the default constructor so realised that I shouldnt be passing ksession. I have commented out the other handlers and tried again but get the same error. Salient code/config below:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<deployment-descriptor xsi:schemaLocation="http://www.jboss.org/jbpm deployment-descriptor.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

    <persistence-unit>org.jbpm.domain</persistence-unit>

    <audit-persistence-unit>org.jbpm.domain</audit-persistence-unit>

    <audit-mode>JPA</audit-mode>

    <persistence-mode>JPA</persistence-mode>

    <runtime-strategy>SINGLETON</runtime-strategy>

    <marshalling-strategies/>

    <event-listeners>

      <event-listener>

        <resolver>mvel</resolver>

        <identifier>new com.db.nms.incr.IncrEventListener()</identifier>

        <parameters/>

      </event-listener>

    </event-listeners>

    <task-event-listeners>

        <!--  task-event-listener>

            <resolver>mvel</resolver>

            <identifier>new com.db.nms.incr.IncrTaskListener(runtimeManager)</identifier>

        </task-event-listener-->

    </task-event-listeners>

    <globals/>

    <work-item-handlers>       

       <!-- work-item-handler>

            <resolver>mvel</resolver>

            <identifier>new com.db.nms.incr.IncrProcessSupportHandler()</identifier>

            <parameters/>

            <name>IncrProcessSupport</name>

        </work-item-handler-->

    </work-item-handlers>

    <environment-entries/>

    <configurations/>

    <required-roles/>

    <remoteable-classes/>

</deployment-descriptor>



package com.db.nms.incr;


import java.sql.Timestamp;

import java.util.Arrays;

import java.util.Date;

import java.util.HashMap;


import org.apache.log4j.Logger;

import org.jbpm.ruleflow.instance.RuleFlowProcessInstance;

import org.jbpm.workflow.core.impl.ExtendedNodeImpl;

import org.jbpm.workflow.instance.node.HumanTaskNodeInstance;

import org.kie.api.event.process.ProcessCompletedEvent;

import org.kie.api.event.process.ProcessEventListener;

import org.kie.api.event.process.ProcessNodeLeftEvent;

import org.kie.api.event.process.ProcessNodeTriggeredEvent;

import org.kie.api.event.process.ProcessStartedEvent;

import org.kie.api.event.process.ProcessVariableChangedEvent;

import org.kie.api.runtime.process.NodeInstance;

import org.kie.api.runtime.process.WorkflowProcessInstance;



public class IncrEventListener implements ProcessEventListener {


public void beforeProcessStarted(ProcessStartedEvent event) {

//logger.info("beforeProcessStarted:" + event.getProcessInstance().getProcessName());

}


public void afterProcessStarted(ProcessStartedEvent event) {

logger.info("afterProcessStarted:" + event.getProcessInstance().getProcessName());

}


public void beforeProcessCompleted(ProcessCompletedEvent event) {

//logger.info("beforeProcessCompleted:" + event.getProcessInstance().getProcessName());

}


public void afterProcessCompleted(ProcessCompletedEvent event) {

logger.info("afterProcessCompleted:" + event.getProcessInstance().getProcessName());

}


public void beforeNodeTriggered(ProcessNodeTriggeredEvent event) {

}


public void afterNodeTriggered(ProcessNodeTriggeredEvent event) {

}


public void beforeNodeLeft(ProcessNodeLeftEvent event) {

}


public void afterNodeLeft(ProcessNodeLeftEvent event) {

logHumanTaskNodeInstance("afterNodeLeft", event.getNodeInstance());

}


public void beforeVariableChanged(ProcessVariableChangedEvent event) {

//logger.info("beforeVariableChanged:" + event.getVariableId());

}


public void afterVariableChanged(ProcessVariableChangedEvent event) {

//logger.info("afterVariableChanged:" + event.getVariableId());

}


private void logHumanTaskNodeInstance(String event, NodeInstance nodeInstance) {

}

}



Tony Cattlin

unread,
Aug 5, 2016, 6:45:39 AM8/5/16
to Maciej Swiderski, jBPM Development
sorry, redacted too much. Logger is defined as 

private static final Logger logger = Logger.getLogger(IncrEventListener.class);

Maciej Swiderski

unread,
Aug 5, 2016, 6:49:02 AM8/5/16
to Tony Cattlin, jBPM Development
Are you sure this is on class path org.apache.log4j.Logger;

all kie libs do rely on slf4j so log4j might not be on classpath at all.

Maciej

Tony Cattlin

unread,
Aug 5, 2016, 6:54:00 AM8/5/16
to Maciej Swiderski, jBPM Development
When I include the code below in my unit test it works fine. 

// ksession.addEventListener(new IncrEventListener());

And if I put the line below in my kmodule.xml it also works fine. The reason for switching to the deployment descriptor is to get the taskEventhandler working.

   <processEventListener type="com.db.nms.incr.IncrEventListener"/>

So I assume as these work fine that log4j is on the classpath in both scenarios.

Tony Cattlin

unread,
Aug 5, 2016, 6:54:54 AM8/5/16
to Maciej Swiderski, jBPM Development
(Unit test and Wildfly deployment I mean)

Tony Cattlin

unread,
Aug 5, 2016, 6:56:27 AM8/5/16
to Maciej Swiderski, jBPM Development
This is what I hoped would work... but as mentioned the EventListener gets picked up, but not the task listener :-(

<kmodule xmlns="http://jboss.org/kie/6.0.0/kmodule">

  <kbase name="kbaseincr" packages="com.db.nms.incr">

  <ksession name="ksessionincr">

  <listeners>

  <processEventListener type="com.db.nms.incr.IncrEventListener"/>

    <taskEventListener type="com.db.nms.incr.IncrTaskListener"/>

  </listeners>

  </ksession>

  </kbase>

</kmodule>

Maciej Swiderski

unread,
Aug 5, 2016, 6:59:28 AM8/5/16
to Tony Cattlin, jBPM Development
you can use reflection resolver in deployment descriptor as well. For default no arg constructor you simply use FQCN as identifier. For thos that need parameters you need to set them over parameter tags, example there: https://github.com/droolsjbpm/jbpm/blob/master/jbpm-runtime-manager/src/test/resources/deployment/deployment-descriptor-defaults-and-ms.xml#L10-L21

Tony Cattlin

unread,
Aug 5, 2016, 7:32:28 AM8/5/16
to Maciej Swiderski, jBPM Development
It appears there is something more fundamentally wrong with my project. Even when I remove the deployment descriptor I get the same error. Have gone back to basics, restarted and now I get a classNotFound on IncrTaskEventListener, even when it was commented out of the deployment descriptor. Will let you know how I get on. 

Thanks for your help so far...
Reply all
Reply to author
Forward
0 new messages