Friday, September 18, 2015

ORACLE SOA JMS CONFIGURATION

                   

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