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.
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
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"