Skip to main content

JMS Queue over Cluster Server In Oracle SOA

Here in our case we have following server configuration:
1.Admin server running over 7001 port.
2.Node 1 running over IP1 and Port1.
3.Node 2 running over IP2 and Port2.
4.Load balancer running over IP2 and Port 3
5.SOA Cluster with Node1 and Node2 as HTTP port and IP of Load balancer.
Following steps need to be taken for configuration of JMS Queue in weblogic cluster, Before we start let me clear one thing, There are two types of queue one is for single admin server and other for weblogic cluster domain, In case of single node server domain we need to use queue and in case of weblogic cluster domain we need to create distributed queues over the domain:
Configures the persistence stores and targets these to the migratable targets:
Create store and forward agents for both persistence stores: Create two store and forward agents for both persistence store, repeat steps same for second.
Create the JMS servers on a migratable target and every JMS server has its own file persistence store (JMSServer_1 & JMSServer_2): Repeat same step for second JMS Server creation.
Create a JMS Module with name "JMSModule”
Create Sub-Deployment plan under with name “JMSSubPlan”
Select Services > JMS Modules > JMSModule
Create a connection factory and a distributed queue both targeted on the cluster.
Connection factory name:
  1. JMSCF1 –jms/JMSCF1
Connection factory configuration:
  1. Select Services > JMS Modules > JMSModule
  2. Click on “New”
  3. Click on “Connection factory” radio button.
  4. Select advance targeting at the time of server targeting so JMS server can be mapped.
Click on advance targeting and select JMS Servers and select created subdeployment plan.
Queue Name:
  1. JMSQueue1 –jms/JMSQueue1
Click on advance targeting

Create a JMS Adapter Connection Pool in WebLogic Server

The BPEL process we are about to create uses a JMS adapter to write to the JMS queue. The JMS adapter is deployed to the WebLogic server and needs to be configured to include a connection pool which references the connection factory associated with the JMS queue.
  1. In the WebLogic Server Console
  2. Go to Deployments > Next and select (click on) the JmsAdapter
  3. Select Configuration > Outbound Connection Pools and expand oracle.tip.adapter.jms.IJmsConnectionFactory. This will display the list of connections configured for this adapter.
  4. eis/sbjms/JMSQueue1
  5. These JNDI names are actually quite confusing. We are expecting to configure a connection pool here, but the names refer to queues and topics.
  6. Expand oracle.tip.adapter.jms.IJmsConnectionFactory again and select (click on) eis/sbjms/JMSQueue1
  7. The ConnectionFactoryLocation must point to the JNDI name of the connection factory associated with the JMS queue you will be writing to. In our example, this is the connection factory called JMSCF1, with the JNDI name jms/JMSCF1, Same for remaining JMS Queue.
  8. The next step is to redeploy the JmsAdapter.
    Navigate back to the Deployments screen, either by selecting it in the left-hand navigation tree or by selecting the “Summary of Deployments” link in the breadcrumbs list at the top of the screen. Then select the checkbox next to JmsAdapter and press the Update button
  9. On the Update Application Assistant page, select “Redeploy this application using the following deployment files” and press Finish.After a few seconds you should get the message that the selected deployments were updated. The JMS adapter configuration is complete and it can now be used to access the JMS queue.
CREATE JMS COMPONENT IN BPEL AND YOU ARE READY TO USE QUEUES OVER CLUSTER.
You can check cluster queues for messages:
Select any check box and click on "Show Messages"
It's Done!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Comments

Post a Comment

Popular posts from this blog

Solution for BPM standard dashboard & activity guide not working in Oracle SOA 12.2.1.0 C

As earlier i publish a post about different issue of Oracle BPM, After some oracle support i got to fixed them. Issue Blog Here... Issue 3:BPM 12.2.1 process workspace activity guide not working. if you have a normal BPM Process, then this is the issue. In order to have data populated in "Activity Guide" firstly you should create a BPMN Guided Business Process. Below you can find the documentation about activity guide and how to create a Guided Business Process: https://docs.oracle.com/middleware/1221/bpm/bpm-develop/GUID-F765955D-90A5-48D4-8D2A-2F01FBB539E3.htm#BPMPD901 And here is specified: " A Guided Business Process is modeled as an activity guide that is based on a business process. The Activity Guide includes a set of Milestones. A milestone is a contained set of tasks that the end user has to complete. A milestone is complete when the user successfully runs a specific set of tasks in the milestone. " And in the below chapters you will find the

Oracle SOA 12C rest adapter with Custom HTTP headers

Most existing web applications are connected through web services, which are commonly known as SOAP services. More and more users are relying on mobile devices for communication, and they’re looking for lighter ways to access enterprise information on the go. REST services are the answer for the mobile device platform, because they get rapid responses and fast access to data. Oracle SOA Suite 12 c  provides a complete set of service infrastructure components for designing, deploying, and managing composite applications. Oracle SOA Suite 12 c  enables services to be created, managed, and orchestrated into composite applications and business processes. Some time we have need to send HTTP headers in REST service, In OSB we use header component and add what ever is needed but in oracle SOA 12C it's little bit different. Let see how we can do it. Create one SOA Application. Create one SOA Sample project inside SOA Application. Go to composite and drag drop REST adapt

Dynamic Routing in OSB 12C

Dynamic Routing in OSB cab be used when the BusinessService endpoint required to be determine at runtime in message flow. Consider a scenario where OSB has to route the incoming requests to 2 different services based on the CustomerType element value sent in the payload. So create a XQuery resource with the following contents. Observe that we are using the absolute path of business service in configuration as required by dynamic routing. Following is the XML schema that we use:>>  Customer.xsd <?xml version="1.0" encoding="windows-1252" ?> <xsd:schema targetNamespace="http://xmlns.oracle.com/schema/Customer" xmlns:xsd="http://www.w3.org/2001/XMLSchema"             xmlns:ns1="http://xmlns.oracle.com/schema/Customer">   <xsd:complexType name="Customer">     <xsd:sequence>       <xsd:element name="CustomerId" type="xsd:string"/>       <xsd:elemen