This week's book giveaway is in the OCMJEA forum.
We're giving away four copies of OCM Java EE 6 Enterprise Architect Exam Guide and have Paul Allen & Joseph Bambara on-line!
See this thread for details.
The moose likes Websphere and the fly likes Message Distribution in WAS 7.0.25ND Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of OCM Java EE 6 Enterprise Architect Exam Guide this week in the OCMJEA forum!
JavaRanch » Java Forums » Products » Websphere
Bookmark "Message Distribution in WAS 7.0.25ND" Watch "Message Distribution in WAS 7.0.25ND" New topic
Author

Message Distribution in WAS 7.0.25ND

Madhu kommi
Greenhorn

Joined: Dec 24, 2013
Posts: 5

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.
Harneet Singh
Greenhorn

Joined: Feb 05, 2013
Posts: 18
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

Joined: Dec 24, 2013
Posts: 5
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

Joined: Feb 05, 2013
Posts: 18
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

Joined: Feb 05, 2013
Posts: 18
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

Joined: Dec 24, 2013
Posts: 5
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.
 
Don't get me started about those stupid light bulbs.
 
subject: Message Distribution in WAS 7.0.25ND