This example shows the steps to create a simple JMS queue in
WebLogic Server 11g for testing purposes. For example, to use with
the two sample programs QueueSend.java and QueueReceive.java which
will be shown in later examples.
1. Introduction and Definitions
A JMS queue in Weblogic Server is associated with a number of
additional resources:
JMS Server
A JMS server acts as a management container for resources within JMS
modules. Some of its responsibilities include the maintenance of
persistence and state of messages and subscribers. A JMS server is
required in order to create a JMS module.
JMS Module
A JMS module is a definition which contains JMS resources such as
queues and topics. A JMS module is required in order to create a JMS
queue.
Subdeployment
JMS modules are targeted to one or more WLS instances or a cluster.
Resources within a JMS module, such as queues and topics are also
targeted to a JMS server or WLS server instances. A subdeployment is a
grouping of targets. It is also known as advanced targeting.
Connection Factory
A connection factory is a resource that enables JMS clients to
create connections to JMS destinations.
JMS Queue
A JMS queue (as opposed to a JMS topic) is a point-to-point
destination type. A message is written to a specific queue or
received from a specific queue.
The objects used in this example are:
Object Name
|
Type
|
JNDI Name
|
TestJMSServer
|
JMS Server
|
|
TestJMSModule
|
JMS Module
|
|
TestSubDeployment
|
Subdeployment
|
|
TestConnectionFactory
|
Connection Factory
|
jms/TestConnectionFactory
|
TestJMSQueue
|
JMS Queue
|
jms/TestJMSQueue
|
2. Configuration Steps
The following steps are done in the WebLogic Server Console,
beginning with the left-hand navigation menu.
2.1 Create a JMS Server
-
Services > Messaging > JMS Servers
- Select New
-
Name:
TestJMSServer
Persistent Store: (none) - Target: soa_server1 (or choose an available server)
- Finish
The JMS server should now be visible in the list with Health OK.
2.2 Create a JMS Module
- Services > Messaging > JMS Modules
- Select New
-
Name:
TestJMSModule
Leave the other options empty -
Targets:
soa_server1
(or choose the same one as the JMS server)
Press Next - Leave “Would you like to add resources to this JMS system module” unchecked and press Finish .
2.3 Create a SubDeployment
A subdeployment is not necessary for the JMS queue to work, but it
allows you to easily target subcomponents of the JMS module to a
single target or group of targets. We will use the subdeployment in
this example to target the following connection factory and JMS
queue to the JMS server we created earlier.
- Services > Messaging > JMS Modules
- Select TestJMSModule
- Select the Subdeployments tab and New
- Subdeployment Name: TestSubdeployment
- Press Next
-
Here you can select the target(s) for the subdeployment. You can
choose either Servers (i.e. WebLogic managed servers, such as the
soa_server1) or JMS Servers such as the JMS Server created
earlier. As the purpose of our subdeployment in this example is to
target a specific JMS server, we will choose the JMS Server option.
Select the TestJMSServer created earlier - Press Finish
2.4 Create a Connection Factory
- Services > Messaging > JMS Modules
- Select TestJMSModule and press New
- Select Connection Factory and Next
-
Name:
TestConnectionFactory
JNDI Name: jms/TestConnectionFactory
Leave the other values at default - On the Targets page, select the Advanced Targeting button and select TestSubdeployment
- Press Finish
The connection factory should be listed on the following page with
TestSubdeployment and TestJMSServer as the target.
2.5 Create a JMS Queue
- Services > Messaging > JMS Modules
- Select TestJMSModule and press New
- Select Queue and Next
-
Name: TestJMSQueue
JNDI Name: jms/TestJMSQueue
Template: None
Press Next - Subdeployments: TestSubdeployment
- Finish
The TestJMSQueue should be listed on the following page with
TestSubdeployment and TestJMSServer.
Confirm the resources for the TestJMSModule. Using the Domain
Structure tree, navigate to soa_domain > Services > Messaging
> JMS Modules then select TestJMSModule
You should see the following resources
The JMS queue is now complete and can be accessed using the JNDI
names
jms/TestConnectionFactory and
jms/TestJMSQueue.
jms/TestJMSQueue.
No comments:
Post a Comment