I've also written three OSGI JMS clients to perform simple testing of Lotus Expeditor Integrator. The clients implement a single interface to send text and binary messages with predefined headers. Part of the convenience of the OSGI clients is the ability to declaratively create JMS clients, bind them to various endpoints, and send messages for testing purposes. You can create these simple applications by creating OSGI commands and
launching the com.ibm.pvc.wct.application.simple.SimpleProduct product
bundled within the com.ibm.pvc.wct.application.simple plugin (an add-on plugin in the Expeditor Client for Desktop's update site). For example, the following would create a JMS client and send a message to an Integrator queue.
osgi> runscript C:\Eclipse\Workspace\XPDuB\com.ibm.rcp.support.microbroker.client\scripts\jms_sample
Created JMS Client jmsclient
Added queue XPDinteg_DeviceClientFromQ to jmsclient
--- Message ---
Hello World!
{LocationId=IBM_SUPPORT}
Created JMS Client jmsclient
Added queue XPDinteg_DeviceClientFromQ to jmsclient
--- Message ---
Hello World!
{LocationId=IBM_SUPPORT}
The above might not seem too declarative because it uses the runscript command. This command is provided by the Expeditor framework and allows one to execute OSGI commands as a batch file. For example, the OSGI JMS client commands are declared in the jms_sample script:
clientcreate jms jms/RemoteConnectionFactory jmsclient
clientconfig jmsclient XPDinteg_DeviceClientFromQ true
clienttext jmsclient XPDinteg_DeviceClientFromQ default "Hello World!"
clientconfig jmsclient XPDinteg_DeviceClientFromQ true
clienttext jmsclient XPDinteg_DeviceClientFromQ default "Hello World!"
The runscript command has a versatile ability to not only chain commands in my OSGI JMS tool but also other commands support by the Expeditor framework. For example, you could chain a "dump threads" , "dump heap", and custom command to get a post mortem understanding of the platform. Or you might chain multiple setlogrlev commands with various packages and logging levels to obtain runtime trace of a custom application. Take a look at other helpful OSGI commands in Expeditor by executing the ? command on the OSGI console. For more information, see Overview of the OSGI Console.
And I'll post the OSGI clients in the future ...
And I'll post the OSGI clients in the future ...