Gonzalo Lazaro [
http://community.jboss.org/people/gonlafer] created the discussion
"java.lang.NullPointerException on Notification sent"
To view the discussion, visit:
http://community.jboss.org/message/562363#562363
--------------------------------------------------------------
Hello,
I've got the following problem using JBPM 4.4:
I have a flow started and the first task assignee is set as a process variable in the
following way:
<task g="196,322,132,52" name="Submit adjustment for approval"
candidate-groups="AdjustmentsInitiator" assignee="#{initiator}">
<notification/>
<reminder duedate="1 hour" repeat="1 hour"/>
<transition g="-64,-12" name="submit"
to="change_status_to_submitted"/>
<transition g="-155,-18" name="cancel"
to="change_status_to_cancelled"/>
</task>
This is working perfectly and the assignee get a mail advising on the task assignment.
However, if the assignee releases the task (ts.assignTask(taskId, null);) I get the
following error:
java.lang.NullPointerException
at
org.jbpm.pvm.internal.email.impl.MailProducerImpl.tokenizeActors(MailProducerImpl.java:148)
at
org.jbpm.pvm.internal.email.impl.MailProducerImpl.fillRecipients(MailProducerImpl.java:194)
at
org.jbpm.pvm.internal.email.impl.MailProducerImpl.fillRecipients(MailProducerImpl.java:166)
at
org.jbpm.pvm.internal.email.impl.MailProducerImpl.produce(MailProducerImpl.java:82)
at org.jbpm.jpdl.internal.activity.MailListener.notify(MailListener.java:58)
at
org.jbpm.pvm.internal.model.op.ExecuteEventListener.perform(ExecuteEventListener.java:81)
at
org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperationSync(ExecutionImpl.java:672)
at
org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperation(ExecutionImpl.java:632)
at org.jbpm.pvm.internal.model.ExecutionImpl.fire(ExecutionImpl.java:579)
at org.jbpm.pvm.internal.model.ExecutionImpl.fire(ExecutionImpl.java:568)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
....
Is there any way to remove the task assignment without the notifications being sent?
The test I've done is quite simple:
@Test
public void testReAssignTask() {
TaskService ts = processEngine.getTaskService();
String taskId = "490009";
Task task = ts.getTask(taskId);
logger.debug(task.getAssignee());
ts.assignTask(taskId, null);
}
Thanks,
Gonzalo
--------------------------------------------------------------
Reply to this message by going to Community
[
http://community.jboss.org/message/562363#562363]
Start a new discussion in jBPM at Community
[
http://community.jboss.org/choose-container!input.jspa?contentType=1&...]