I have started prototyping a solution using Gary Rowe's hid4java library with good success. The example provided in that project's test package is a good start, but I have a more general question regarding the proper usage pattern for this library.
Specifically, I'm wondering if the following set-up operations are expensive, and should be done once, or are designed to be performed as part of each interaction (command/response) with an HID device?
// Get HID services
HidServices hidServices = HidManager.getHidServices();
hidServices.addHidServicesListener(this);
The same applies to the tear-down operation:
hidServices.shutdown();