In the snmp-adaptor bundled with jboss, there is already a "trapd" service which is used primarily for testing, i.e. receiving and logging the traps produced by the snmp-adaptor.
So you can:
1) See how org.jboss.jmx.adaptor.snmp.trap.TrapdService is implemented and more or less do the same with your code.
2) Take the existing TrapdService and modify it to call your handling code instread of logging them.
Both snmp-adaptor and trapd are based on joeSNMP.
I just thought of a 3rd option, if there is interest I could just enhance TrapdService to emit a JMX notification containing the received trap, then interested MBeans could just register to do something with it.