I try to throw signal at the end of the process, so I use signal end event.
<code lang="xml" linenumbers="normal">
<endEvent id="endevent1" name="End">
   <!– <extensionElements><activiti:executionListener event="start" class="com.diplab.test.MyExecutionListener"></activiti:executionListener></extensionElements>–>
   <signalEventDefinition signalRef="hi"/>
</endEvent>
</code>
I get NullPointerException. I check SignalEventDefinitionParseHandler source code, and I found there is no support for signal end event. 
Is signal end event really not supported?