6 WebLogic JMS Thin Client

Learn how to develop, use and deploy a WebLogic JMS thin client.

This chapter includes the following sections:

Overview of the JMS Thin Client

The JMS thin client (the wljmsclient.jar deployed with the wlclient.jar), provides Java EE and WebLogic JMS functionality using a much smaller client footprint than a WebLogic Install or Full client, and a somewhat smaller client footprint than a Thin T3 client.

The smaller footprint is obtained by using:

  • A client-side library that contains only the set of supporting files required by client-side programs.

  • The RMI-IIOP protocol stack available in the JRE. RMI requests are handled by the JRE, enabling a significantly smaller client.

  • Standard Java EE APIs, rather than WebLogic Server APIs.

You may want to consider using one of the faster T3 client options, such as the Thin T3 client. For more information on developing WebLogic Server thin client applications, see Developing a Thin Client.

JMS Thin Client Functionality

Although much smaller in size than a WebLogic Full client or WebLogic Install, the JMS thin client (the wljmsclient.jar and wlclient.jar) provide several functionality to client applications and applets.

The JMS thin client (the wljmsclient.jar and wlclient.jar) provide the following functionality to client applications and applets:

  • Full WebLogic JMS functionality—both standard JMS and WebLogic extensions—except for client-side XML selection for multicast sessions and the JMSHelper class methods

  • EJB (Enterprise Java Bean) access

  • JNDI access

  • RMI access (indirectly used by JMS)

  • SSL access (using JSSE in the JRE)

  • Transaction capability

  • Clustering capability

  • HTTP/HTTPS tunneling

  • Fully internationalized

Limitations of Using the JMS Thin Client

Learn about the limitations that apply to the JMS thin client.

The following limitations apply to the JMS thin client:

  • It does not provide the JDBC or JMX functionality of the wlfullclient.jar file.

  • It does not support client-side Store and Forward (client SAF). See Reliably Sending Messages Using the JMS SAF Client.

  • The WebLogic Server CMP 2.x extension that allows users to return a java.sql.ResultSet to a client is not supported

  • It is only supported by the JDK ORB.

  • It has lower performance than T3 protocol capable clients (Install, Thin T3, or Full), especially with non-persistent messaging.

  • Does not support automatic client reconnect for releases prior to WebLogic Server 9.2.

Deploying the JMS Thin Client

The wljmsclient.jar and wlclient.jar are located in the WL_HOME\server\lib subdirectory of the WebLogic Server installation directory, where WL_HOME is the top-level WebLogic Server installation directory (for example, c:\Oracle\Middleware\Oracle_Home\wlserver\server\lib).

Deployment of the JMS thin client depends on the following requirements:

  • The JMS thin client requires the standard thin client, which contains the base client support for clustering, security, and transactions. Therefore, the wljmsclient.jar and the wlclient.jar must be installed somewhere on the client's file system. However, wljmsclient.jar has a reference to wlclient.jar so it is only necessary to put one or the other Jar in the client's CLASSPATH.

  • RMI-IIOP is required for client-server communication.

    • URLs using t3 or t3s will transparently use iiop or iiops

    • URLs using http or https will transparently use iiop tunneling.

  • To facilitate the use of IIOP, always specify a valid IP address or DNS name for the Listen Address attribute to listen for connections.


    The Listen Address default value of null allows it to "listen on all configured network interfaces". However, this feature only works with the T3 protocol. If you need to configure multiple listen addresses for use with the IIOP protocol, then use the Network Channel feature, as described in Configuring Network Resources in Administering Server Environments for Oracle WebLogic Server.

  • Each client must have the JRE 1.4.x or higher installed.

  • Applications must adhere to Java EE programming guidelines, in particular the use of PortableRemoteObject.narrow() rather than using casts.

For more information on developing thin client applications for WebLogic Server, see Developing a Thin Client.