Hi km wen,
Out of curiosity why did you create two ProcessEngine instances there? First process lives/managed by process engine A (where testFragment.jpdl.xml definition deployed), while for signaling used another process engine B. It's possible to reuse the same process engine instance inside single JVM process.
Another issue is "signalExecutionById" parameter - "execution ID" is not process definition ID or key or similar. Search for "execution id" phrase in this document http://docs.jboss.com/jbpm/v4/userguide/html_single/ for better understanding.
--
Thanks,
Vadim.