Can't tell if this is exactly what you are after, but you can try it-
Shut down the server, then use 7-zip (or whatever tool you like) to open the jbpm-gwt-console-server.war\WEB-INF\classes\META-INF\CustomWorkItemhandlers.conf and add a line in like:
"Log": new org.jbpm.process.instance.impl.demo.SystemOutWorkItemHandler(),
"SampleTask" : new com.sample.SampleTaskWorkItemHandler()
Then jar up your SampleTaskWorkItemHandler class files and put them in the jbpm-gwt-console-server.war\WEB-INF\lib directory. Start up your server, then your SampleTask WorkItemHandler should be available to use without registering the handler from a ksession.
On a related note, I put in a jira to ask them to update their docs with this info, because it was not at all obvious how to do this. You can vote for it if you like: https://issues.jboss.org/browse/JBPM-3931
Thanks for your reply.
I have tried it from the web application, have created to start the process. But still same thing is happened.
but I don't know who is parsing drools.session.conf and registering the work item handler.
How can initialize knowledge session to read the configuration provided in drools.session.conf ?
In between I have tried to start the process from sample.drl file and registering the workitem handler and starting the process.
package com.sample.drl import java.util.Map; import java.util.HashMap; import org.drools.runtime.process.ProcessInstance; import com.sample.SampleTaskWorkItemHandler; import com.sample.vo.EntityLifecycle; rule "sample start request" when $entity : EntityLifecycle( entityName == "Sample") then SampleTaskWorkItemHandler sampleWorkItemHandler = new SampleTaskWorkItemHandler (); kcontext.getKnowledgeRuntime().getWorkItemManager().registerWorkItemHandler("SampleTask", sampleWorkItemHandler ); Map params = new HashMap(); params.put("entity", $entity); ProcessInstance pi = kcontext.getKnowledgeRuntime().createProcessInstance("com.sampl.bpm.sampleRequest", params); insert(pi); kcontext.getKnowledgeRuntime().startProcessInstance(pi.getId()); end
Thanks & Regards,
please read the docs, especially this part that describes how to configure jbpm-console to use different settings than defaults. You'll see that registering work item handler is described there and you don't need to change configuration files inside the war files. Obviously you need to put your custom classes on jbpm-console classpath.