JMS Data Intake set up - Uniform Distributed Queue - Cluster

Configuration Steps

Pre-requisites for running Data Intake:

Create Cluster:

Environment -> Clusters

  1. Click on New tab and provide the name of the cluster and click on OK.
  2. Adding Members to the Cluster :

  3. Click on Cluster which is created in previous step.
  4. Click on Severs tab.
  5. Scroll down on the page to see the servers table.
  6. Click on Add button and add the Cycle instances ( Note: Add more than one cycle instance to the cluster ).

Create a JMS Server:

Services > Messaging > JMS Servers

  1. Select New
    • Name: DataIntakeJMSServer
    • Persistent Store: (none)
    • Target: CycleCluster
  2. Finish. The JMS server should now be visible in the list with Health OK.

Create a JMS Module:

Services > Messaging > JMS Modules

  1. Select New.

    • Name: DataIntakeJMSModule

    • Leave the other options empty

    • Targets: CycleCluster

  2. Press Next.

  3. Leave “Would you like to add resources to this JMS system module” unchecked and press Finish.

Create a Sub Deployment:

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 to target the following connection factory and JMS queue to the JMS server we created earlier.

Services > Messaging > JMS Modules

  1. Select DataIntakeJMSModule
  2. Select the Subdeployments tab and New Subdeployment Name: DataIntakeSubdeployment
  3. 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 DataIntake) or JMS Servers (DataIntakeJMSServer) such as the JMS Server created earlier. As the purpose of our subdeployment in this is to target a specific JMS server, we will choose the JMS Server option.

  1. Select the DataIntakeJMSServer created earlier.
  2. Press Finish.

Create a Connection Factory:

Services > Messaging > JMS Modules

  1. Select DataIntakeJMSModule and press New
  2. Select Connection Factory and Next
    • Name: IntakeConnectionFactory
    • JNDI Name: IntakeConnectionFactory
    • Leave the other values at default
    • Targets: CycleCluster
  3. Press Finish
  4. Click on IntakeConnectionFactory - Make sure that Default targeting is enabled.

Note: Uncheck "Server Affinity enabled" checkbox in Intake Connection factory to maintain uniform distribution of JMS messages across the cluster.

Create a JMS Distributed Queue:

Services > Messaging > JMS Modules

  1. Select DataIntakeJMSModule and press New
  2. Select DistributedQueue and Next
    • Name: DIQueue
    • JNDI Name: DIQueue
    • Template: None
    • Target: Click on Advanced Targeting ->Select DataIntakeSubdeployment
  3. Press Next
  4. Finish. The JMS queue is now complete and can be accessed using the JNDI names IntakeConnectionFactory and DIQueue.

Create a WorkManager

Environments > Work Managers

  1. Click on New
  2. Select Work Manager radio button
    • Provide name (wm/default)
  3. Select target server(CycleCluster )

Note: After the above steps are completed, set dataIntake.enabled property to true in cycle Properties file and a server restart is required to pick up data intake configuration.

Change in Data Intake client utility (pas.di.testclient)

  1. Add the below two jar files to pas.di.testclient utility lib folder
    • wlclient.jar
    • wljmsclient.jar
  2. Modify conf/CycleClient.properties file in pas.di.testclient with following changes
  3. Uncomment weblogic context factory and comment other context factories
    • contextFactory=weblogic.jndi.WLInitialContextFactory
    • Modify provider url
    • provider.url=t3://localhost:7003(provide appropriate url ex: Cycle url)

Each cycle instance should have its own Cycle-coherence-cache-config.xml with unique port numbers and it should be registered as well-known address list of other.

Performance Recommendations

WebLogic Settings

S.No Settings Description
1 Login Timeout =25000 <ManagedServer> -- Configuration -- tuning -- Login Timeout should be 25000
2 HTTP Duration = 60
<ManagedServer> -- Configuration -- Protocols -- HTTP --Duration should be 60
3 Max Capacity=250
Initial Capacity = 100
Services --<DataSource> --Configuration -- ConnectionPool -- Maximum Capacity should be 250 and Initial Capacity should be 100
4 GC Algorithm “-XX:+UseG1GC” G1GC to be part of jvm arguments.
5 -Xms4g –Xmx4g Heap memory settings.
6 Uncheck - Server Affinity Enabled Services--Messaging–JMS Modules--DataIntakeJMSModule--IntakeConnectionFactory–Load Balance tab.

 

 

 

 

 

 

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. About Oracle Insurance | Contact Us