2012-02-14 53 views
2

我已经在单独的虚拟机上安装了具有两个节点的weblogic 9.2M3群集服务器。 在集群上,我已经设置了集群中共享的统一分布式队列。 不幸的是,分布式队列上的负载均衡不起作用,并且所有消息都由生产者在同一节点上的客户端处理。Weblogic分布式队列 - 负载平衡不起作用

我已经检查以下内容:

  1. 熄灭服务器亲和力在工厂
  2. 经过集群中的节点之间的多播作品
  3. 检查工厂和队列设置目标的不同方式通过:
    • 将工厂和队列设置为部署到群集和
    • 将工厂设置为群集和队列为两个J MSServers
    • 设置两个工厂和队列,以有针对性地JMSServers

任何建议,为什么负载均衡可能不与下面的配置工作?

这是我使用config.xml中的部分配置:

<cluster> 
    <name>TestCluster</name> 
    <multicast-address>239.192.0.1</multicast-address> 
    <multicast-port>17001</multicast-port> 
    <number-of-servers-in-cluster-address>2</number-of-servers-in-cluster-address> 
    </cluster> 
    <jms-server> 
    <name>JMSServer1</name> 
    <target>server1</target> 
    <persistent-store xsi:nil="true"></persistent-store> 
    <temporary-template-resource xsi:nil="true"></temporary-template-resource> 
    <temporary-template-name xsi:nil="true"></temporary-template-name> 
    </jms-server> 
    <jms-server> 
    <nameJ>JMSServer2</name> 
    <target>server2</target> 
    <persistent-store xsi:nil="true"></persistent-store> 
    <temporary-template-resource xsi:nil="true"></temporary-template-resource> 
    <temporary-template-name xsi:nil="true"></temporary-template-name> 
    </jms-server> 
    <jdbc-store> 
    <name>PersistentStore1</name> 
    <prefix-name>sas1_</prefix-name> 
    <data-source>QueueDataSource</data-source> 
    <target>sas1</target> 
    </jdbc-store> 
    <jdbc-store> 
    <name>PersistentStore2</name> 
    <prefix-name>sas2_</prefix-name> 
    <data-source>QueueDataSource</data-source> 
    <target>sas2</target> 
    </jdbc-store> 
    <jms-system-resource> 
    <name>ClusterJMSModule</name> 
    <target>TestCluster</target> 
    <sub-deployment> 
     <name>ClusterSubDeployment</name> 
     <target>TestCluster</target> 
    </sub-deployment> 
    <descriptor-file-name>jms/clusterjmsmodule-jms.xml</descriptor-file-name> 
    </jms-system-resource> 

目的地的定义:

<connection-factory name="jms/levelsInputConnectionFactory"> 
    <sub-deployment-name>ClusterSubDeployment</sub-deployment-name> 
    <jndi-name>jms/levelsInputConnectionFactory</jndi-name> 
    <load-balancing-params> 
     <server-affinity-enabled>false</server-affinity-enabled> 
    </load-balancing-params> 
    </connection-factory> 
    <uniform-distributed-queue name="jms/levelsInputQueue"> 
    <sub-deployment-name>ClusterSubDeployment</sub-deployment-name> 
    <jndi-name>jms/levelsInputQueue</jndi-name> 
    <forward-delay>10</forward-delay> 
    </uniform-distributed-queue> 

回答

0

我跟着文章http://middlewaremagic.com/weblogic/?p=3747给出的步骤,它帮助我建立分布式队列...

(1-Admin Server(AS),2-Managed Server(MS),2-Boxes)

盒-A

MS-1下群集 JMSServer-1和商店-1 => MS-1(可迁移)

盒-B

MS-2下群集 JMSServer- 2和商店-2 => MS-2(可迁移)

管理服务器

  • JMS_Module =>群集
  • SubDeployment_UDQ => JMS服务器1,JMS服务器2
  • 连接工厂(具有“亲和禁用”)=>群集
  • UDQ(分布式队列)=> SubDeployment_UDQ
+0

链接可以是作为有用的补充信息,但[仅限链接回答](http://meta.stackoverflow.com/a/8259/228805)。请包括与问题相关的链接信息摘要,并说明它是如何解决问题的。 – 2014-04-25 16:07:25