Oracle SOA Suite Online Training

Interested in learning Oracle SOA Suite 12c?
Learn from the author of this blog!
A complete and comprehensive course on the #1 platform on SOA - Oracle SOA Suite

Click here to find the complete course details
Click here to check the first session on Oracle SOA Suite 12c

================================================================================================

Configuring JMS Resources for JMSAdapter

This post is a step-by-step guide to configure JMS resources in Weblogic Server in order to work with JMSAdapter

Working with JMSAdapter in Oracle SOA Suite 11g involves configuration of various JMS resources in WLS

  1. JMS Module(Optional) : Is a definition that contains various JMS Resources like queues, topics, etc.
  2. Sub-Deployment(Optional) : used to group target servers
  3. Connection Factory : is a Weblogic resource that enables JMS clients to create connections to JMS destinations
  4. Queue / Topic : the actual destination of the message, either a queeu(point to point) or topic(publish-subscribe)
  5. Connection Pool : Create a pool of connections for the JMSAdapter application

Creating a JMS Module
This step is not mandatory, you can use the default module 'SOAJMSModule'
Weblogic Console --> Services --> Messaging --> JMS Module --> New --> Provide a JMS Module Name --> select the target server(to which you want to deploy this, usually the managed server where SOA is configured) --> Leave the check box(define resources in this module) --> Finish





This step creates a new JMSModule 'MyJMSModule'.

Creating a sub-deployment
Every JMSModule has to be targetted to a Sub-Deployment. A Sub-Deployment is used to group targets

Click on the just created MyJMSModule --> click on Subdeployments tab at the top --> New --> Give name to the subdeployment --> select the target (can either be a server or JMSServer. As this is specific to JMS, I've selected SOAJMSServer(default available JMS Server. You can even create your own JMSServer))


 
 

 
Creating a Connection Factory
A Connection Factory is used to create connections for the JMS Clients to interact with JMS Resources
Click on the just created MyJMSModule --> New --> Connection Factory --> Give name & JNDI name --> soa_server1(selected by default) --> Finish



 
Creating a Queue
Queue is the actual destination
Click on the just created MyJMSModule --> New --> Queue --> Give name & JNDI name --> select subdeployment --> Finish




 
This sets up all the JMS Resources.

You are still left with one configuration to be done to use this queue with a JMS Adapter, which is creating an outbound connection pool
For this, go to Deployments --> JMSAdapter --> Configuration --> Outbound Connection Pools --> New --> oracle.tip.adapter.jms.IJmsConnectionFactory --> Next --> Provide JNDI Name for the Connection Pool(This will be used in the JMSAdapter configuration in the Composite)
This will create a Connection Pool, but Connection Factory(the resource used to connect to Queue) is not yet configured, which is done in the next step




Click on the just created connection pool --> enter the ConnectionFactoryLocation as the JNDI name that you've created in Step 2 (which is jms/myConnFactory and hit Enter) --> Save

Update the JMSAdapter deployment
Console --> Deployments --> click on JmsAdapter checkbox --> Update --> select defaults --> Finish

Now, you can use the ConnectionPool name eis/jms/myConnPool in the dbAdapter in your SOA Composite
If you get any error saying the connectionPool not found, restart the SOA Server

Please read the next post on working with JMS Adapter

2 comments:

  1. the post tottaly mentioned abour JMSaadapter in last ur said u have done all the for db adapter can u clarify on it

    Update the JMSAdapter deployment
    Console --> Deployments --> click on DbAdapter checkbox --> Update --> select defaults --> Finish

    Now, you can use the ConnectionPool name eis/jms/myConnPool in the dbAdapter in your SOA Composite
    If you get any error saying the connectionPool not found, restart the SOA Server

    Please read the next post on working with JMS Adapter

    ReplyDelete
    Replies
    1. Hello Anil, it was a type, corrected it now.

      Delete