In the Java SDK Guide, To register signal handler, it just defines a handler method and annotated it , and then call registerSignalHandlers(instance of the class that defines the handler method). But this doesn't work for me. When I try to do these steps, the registerSigalHandlers method returns BUS_NO_SUCH_INTERFACE error. Now I solve the problem after reading the sample code. I found we must call registerBusObject(instance of a class that implements the BusInterface that contains the signals we want to handle) before calling registerSigalHandlers. This seems strange to me, as the BusObject I register just does nothing. Does it necessary to register such a BusObject before calling registerSiganlHandlers()?