How to Create a Simple JMS Queue in Weblogic Server 12C
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.
No comments:
Post a Comment