We now examine the typical issues to consider when building JMS-enabled clients. In particular, you should understand the merits of synchronous versus asynchronous message consumptions, the impact of transacted sessions and distributed transactions on message redelivery and acknowledgment, and the benefits of integrating JMS resources with existing J2EE applications. We also look at how to create both temporary and permanent destinations at runtime. We will examine WebLogic's XML message type, and how the proprietary XPath message selector syntax can help filter out incoming XML messages by inspecting their payloads. (Other programming issues, such as concurrent message handling and multicast topics, were covered earlier.)
In WebLogic 7.0, if an external JMS client has to interact with WebLogic JMS, you have to include the entire weblogic.jar in the client's classpath. WebLogic 8.1 provides a thin client-side library, wljmsclient.jar, which you can distribute with your application. This library contains all of the support for WebLogic JMS, and is available in addition to the general client JAR, wlclient.jar, which contains the standard client support for JNDI, clustering, and transactions. Together, these JARs are only about 700 KB in size. You can find these client JARs in the WL_HOME/server/lib directory of your installation. Any client that uses these smaller-footprint libraries must run on the Java 1.4 JRE.