I didn't analyze too much your code, but if you signal the node as soon as you finish doing your code it will move to the next node in the graph.
Try with context.signal() or some equivalent. I don't remember the syntax right and I don't have a jbpm3 project by hand to test it here...
Doing this: context.getContextInstance().setVariable("message", message);
You are setting a variable called message to the process context and then you can use that variable in the decision node. Make sure that you define that variable at process level.
Cheers