• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Message Distribution in WAS 7.0.25ND

 
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Please help me to solve the issue of Message distribution.

We have the Cluster setup with the 2 nodes each have one server and managing by the deployment Manager.

My application is deployed on the both the servers and both are running and each server contains one message engine.

Quartz clusterd scheduler is running in round robin and places the messages in a queue on the bus. So, here my requirement is work should be share equally for both the servers. i.e. if i put 4 messages in a queue then 2 message should be processed by each server in cluster.

Please suggest me any configuration is required for this in Web sphere.
 
Greenhorn
Posts: 18
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

You should have a BUS created and add the cluster to that BUS with 2 messaging Engine pointing to your 2 Servers. and then you will have to set the policy as desired by you . If I understand you correctly you need following policy to be set -
High availability and workload sharing Cluster more than 1 (typically, one messaging engine for each server) "One of N" or "No operation"


Check the following link for detail information - http://pic.dhe.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=%2Fcom.ibm.websphere.nd.doc%2Finfo%2Fae%2Fae%2Fcjt0007_.html
 
Madhu kommi
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Harneet Singh wrote:

You should have a BUS created and add the cluster to that BUS with 2 messaging Engine pointing to your 2 Servers. and then you will have to set the policy as desired by you . If I understand you correctly you need following policy to be set -
High availability and workload sharing Cluster more than 1 (typically, one messaging engine for each server) "One of N" or "No operation"


Check the following link for detail information - http://pic.dhe.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=%2Fcom.ibm.websphere.nd.doc%2Finfo%2Fae%2Fae%2Fcjt0007_.html




Thanks for the reply.

I configured the BUS with the Cluster as the Bus member and 2 message engines for 2 servers in cluster. I created 2 message engine policy in core group settings with the One-of-N policy. But it's not sharing the messages.

Please see below article also it is saying that One-of-N will not work .

When deployed to a cluster, the messaging engine created for the WebSphere Business Monitor service integration bus is only active on one cluster member at a time. This behavior is specified by the default service integration bus policy. While the default service integration bus policy can be customized, the policy must always be of type "One-of-N." A "One-of-N" policy allows only one instance of the messaging engine to become active in a cluster, providing high availability (protecting components and models from the failure of a single server), but not scalability (the ability to expand as resources are added).
 
Harneet Singh
Greenhorn
Posts: 18
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
When deployed to a cluster, the messaging engine created for the WebSphere Business Monitor service integration bus is only active on one cluster member at a time. This behavior is specified by the default service integration bus policy. While the default service integration bus policy can be customized, the policy must always be of type "One-of-N." A "One-of-N" policy allows only one instance of the messaging engine to become active in a cluster, providing high availability (protecting components and models from the failure of a single server), but not scalability (the ability to expand as resources are added).

I agree with above statement totally , but please understand what it is saying. It applies that in 1 JVM only 1 ME can be active at any point of time. You can never ever have 2 ME active simultaneously in 1 JVM.
And when in cluster ME automatically associate it self with first available JVM.
But when you define a core group policy then you tell your 2 ME to associate themselves with 2 JVM respectively as per your Core Group policy.



My question to you is - How are you so sure that your JVM are not sharing messages ?
and do check JVM logs for ME getting associated with the JVM. as the console will only give you statues whether they are up or not but Log will show which ME is associating with which JVM. And if you Core Group policy are correct ME1 will always associate with JVM1 irrespective of configuration and status of other ME2 and JVM2



 
Harneet Singh
Greenhorn
Posts: 18
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

You probably have to explore the prefered server settings .. and if it still doesnt work then I suggest you go for static policy but then it will not provide you with the failover and failback provision which anyways I guess is not important in your scenario.

 
Madhu kommi
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks Harneet ,

Actually I created the 2 ME and 2 Policys of 'one of N' and associated the each ME to one policy. and I mentioned the preferdServers in Policies.

Applications Logs will be created on both the servers. Iam checking the apllication logs on both servers then I come to know that all message are displayed in one server logs only.

As per my understand in my Application quartz schedular will send all messages to a Queue on the Bus. so, from this queue messages should be shared equally to both the servers(JVM) in the cluster.
 
reply
    Bookmark Topic Watch Topic
  • New Topic