Load Balancing in JMS

HI ,
I need to implement load balancing in JMS arch.
PFB the structure of my applications .
Application 1 and Application 2 are placed on different weblogic servers.
Application 3 is the common upstream for both the servers and is also placed on a different server .
The mode of comm. Between app3 –app1 and app3-app2 is JMS .
Appl3 should be uniformly distributing the requests to both the servers (appl2 and appl1) . How can this kind of load balancing implemented in weblogic 9.1 and on jms interface .
I have tried using distributed queues but they can be used on the server only . Here all the applns are on different servers .
Please help if you know the solution .
Regards,
Vaibhav

Have a look at the documentation .

Similar Messages

  • Load balance with JMS in cluster

              I would like to develop a MDB listening to a topic, which can be deployed in a
              weblogic cluster, so that whenever a message is published to that topic, one and
              only one of the MDB in a wls server of the cluster will process the message, what
              is the best way to do this?
              thanks
              Zhou
              

    Do you desire a distributed topic that doesn't replicate
              between topic members, but replicates
              to all subscribers on a particular member?
              If so, then a distributed topic is NOT
              what you want to configure. Instead, you can do as you
              suggest: set JNDINameReplicated to false
              and put a same JNDI named topic on each server.
              Tom
              Tom Barnes wrote:
              >
              >
              > x zhou wrote:
              >
              >> Can I do the following to achive what I want:
              >
              >
              > I don't know what you want. But a message sent to a topic
              > member still gets replicated to the other topic members.
              >
              > I'm guessing what you are looking for is a
              > distributed queue, not a distributed topic. I suggest
              > you look at the distributed queue option. A message
              > sent to a distributed queue will only get processed
              > by one MDB.
              >
              >>
              >> 1) create a distributed topic having topic name "topic.distributed"
              >> that has "topic.1"
              >> and "topic.2" as its member on two wls instances in a cluster
              >>
              >> 2) write a MDB that will be deployed seperately to 2 wls instances in
              >> the cluster,
              >> with different weblogic-ejb-jar.xml file: the difference is at the line:
              >>
              >> <destination-jndi-name>topic.1</destination-jndi-name> for server 1;
              >> <destination-jndi-name>topic.2</destination-jndi-name> for server 2;
              >>
              >> 3) create the publisher using the distributed topic (of jndi name
              >> 'distribute.topic'),
              >> according the document, it should send the message to one and only one
              >> of its
              >> member, and therefore the corresponding MDB in the wls instance of the
              >> cluster
              >> which receives the message will be notified
              >>
              >> and this will give me multi-threading in the same wls instance
              >> (because of MDB)
              >> and load-balancing across the whole cluster, right?
              >>
              >> Incidently, it looks like I can make the topic member's jndi name the
              >> same, as
              >> long as I un-check the "Replicate JNDI Name In Cluster" checkbox. Why
              >> is there
              >> such a box in the first place? Isn't the topic not clusterable?
              >>
              >> thanks
              >>
              >>
              >> Tom Barnes <[email protected]> wrote:
              >>
              >>> (1) Currently, there is no way in WL to get multiple consumers to share
              >>> a topic subscription - which is essentially what you are asking for.
              >>> The JMS standard doesn't support this either. This is not to say
              >>> that it wouldn't be a useful feature - I personally think it would be.
              >>>
              >>> (2) Why not use a queue?
              >>>
              >>> Tom
              >>>
              >>> X Zhou wrote:
              >>>
              >>>
              >>>> I would like to develop a MDB listening to a topic, which can be
              >>>> deployed
              >>>
              >>>
              >>> in a
              >>>
              >>>> weblogic cluster, so that whenever a message is published to that
              >>>> topic,
              >>>
              >>>
              >>> one and
              >>>
              >>>> only one of the MDB in a wls server of the cluster will process the
              >>>
              >>>
              >>> message, what
              >>>
              >>>> is the best way to do this?
              >>>>
              >>>> thanks
              >>>>
              >>>> Zhou
              >>>
              >>>
              >>
              >
              

  • Load balancing MQ 7.0 Foreign JMS Server and Weblogic 10 MDBs?

    We have the following configuration and we are trying to troubleshoot what appears to be a load balancing issue.
    We have 3 Solaris servers. Each Solaris server has two Weblogic managed servers running on it. There are a total of 6 managed servers in the Weblogic cluster.
    MQ Series 7.0 is also installed on each Solaris server. The MQ queue managers are in a MQ cluster. Each queue manager has the same queues defined.
    We have a foreign JMS Server configured on Weblogic that has destinations and a connection factory defined. There aren't many configuration options available for the connection factory. The destinations are bound to the queues defined on MQ using the MQ bindings file.
    The MQ bindings file was generated using the TRANSPORT(BIND) mechanism. Each bindings file points to the queue manager running on that machine. So the 2 managed servers running on one machine are accepting messages from the queue manager on that machine.
    The MDB's listenning for messages on the MQ queues are configured as follows in the weblogic-ejb-jar.xml:
         <max-beans-in-free-pool>16</max-beans-in-free-pool>
    We also created a custom work manager with min threads constraint=5 and max threads constraint=16. The dispatch-policy of all the MDBs is set to the custom work manager.
    The open input count on each MQ queue managers shows up as 32 which is expected.
    The default load algorithm on the cluster is round-robin.
    When we run a load test (injecting 40 messages per second on one MQ queue), we notice that one managed server ends up being significantly loaded than the other. Each MQ queue manager in the MQ cluster receives approximately the same number of messages in the load test. But it seems like one managed server is preferred over the other in Weblogic.
    What can be done to equally balance the load among the two managed servers on each Solaris server?
    Thanks for the help.

    Load balancing generally applies at determing how many consumer threads has to be created on each of the clustered queue instance. In that sense you have achieved perfect load balancing as your queue instances has the same no of consumer threads.
    Once you have set 'x' consumer threads on a queue, it is upto messaging provider to decide which thread to deliver a particular message and you will hardly have any control over this. Since your 32 threads are listening on the same queue, MQ can select any thread for delivering the message and the behaviour could be non deterministic.
    One option to change your design is to have a dispacther mdb which picks the messages off the MQ and then routes to a weblogic distributed destination and you can have your core mdb which does all processing listen to this distributed destination. You can enable load balancing when the disaptcher mdb routes the message to the distributed destination. Since dispatcher MDB is nothing more than a router, the unbalanced consumption off the MQ shouldn't seriously affect the server.

  • JMS Clustering : Load Balancing expected Behaviour

    Hi All,
              I have a Cluster with a 2 managed servers A and B . ConnectionFactory is deployed to the cluster and Server B hosts JMS Server.Destinations on the JMS Server are not distributed, but the JNDI Names of the same are replicated across the cluster.Both Load Balancing and server affinity are enabled on the connectionFactory(I hope these attributes are required only if the destinations are distributed).
              An application containing MDBs and EJBs are deployed to the cluster and onMessage MDB looks up for a Facade and makes calls on it.An external java client sets up the initialContext based on the cluster address and starts sending messages to the destination
              What should be the expected behaviour in this scenario ?According to my understanding,
              -Eventhough, the connectionFactory is deployed across the cluster, since the physical destinations are available only in the weblogic server hosting the JMS Server(Server B), the actual message handling(MDB invocation) would be done only here.
              -When the MDBs are invoked on serverB, it would performs a lookup for the Facade.Because of the colocation optimisation, the replica aware stub used would be the one in ServerB and henceforth all the method processing should be done on Server B.
              Is this correct ? But this would also mean that no load balancing would happen because of the colocation optimisation ? Do i need to use a distributed destination to enable load balancing in this scenario ?
              Any help would be greatly appreciated..
              thanks,
              Josh

    Hi All,
              I have a Cluster with a 2 managed servers A and B . ConnectionFactory is deployed to the cluster and Server B hosts JMS Server.Destinations on the JMS Server are not distributed, but the JNDI Names of the same are replicated across the cluster.Both Load Balancing and server affinity are enabled on the connectionFactory(I hope these attributes are required only if the destinations are distributed).
              An application containing MDBs and EJBs are deployed to the cluster and onMessage MDB looks up for a Facade and makes calls on it.An external java client sets up the initialContext based on the cluster address and starts sending messages to the destination
              What should be the expected behaviour in this scenario ?According to my understanding,
              -Eventhough, the connectionFactory is deployed across the cluster, since the physical destinations are available only in the weblogic server hosting the JMS Server(Server B), the actual message handling(MDB invocation) would be done only here.
              -When the MDBs are invoked on serverB, it would performs a lookup for the Facade.Because of the colocation optimisation, the replica aware stub used would be the one in ServerB and henceforth all the method processing should be done on Server B.
              Is this correct ? But this would also mean that no load balancing would happen because of the colocation optimisation ? Do i need to use a distributed destination to enable load balancing in this scenario ?
              Any help would be greatly appreciated..
              thanks,
              Josh

  • Load balancing JMS listeners against AQ

    10g Database, simple AQ defined (point to point)
    10g App server (10.1.2) JMS Listener.
    Two load balanced App servers, with the JMS listener deployed onto each server, each listening to single AQ queue.
    Problem. It appears that each listener is picking up a message when placed on the AQ. I would have assumed that the first once it would "block" the second one from dequeing the message.
    Is there a specific configuration/set-up we need to cause each of these listeners to "honer" the other one, and for the messages to be handled on by one of the listeners at a time?
    _mike                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Mike,
    If your question has to do with Oracle Application Server, then there is the Oracle Application Server - General forum.
    If your question has to do with AQ, then there is the Advanced Queueing forum.
    In any case, I don't think it has to do with JDBC, does it?
    Good Luck,
    Avi.

  • JMS load-balancing question

    Hello,
    When performing settings on JMS connection factory, one can set (check the "Load Balancing Enabled" option in the Configuration tab, Load Balance sub tab).
    In the help documentation, we can read:
    Specifies whether non-anonymous producers created through a connection factory are load balanced within a distributed destination on a per-call basis.
    *If enabled, the associated message producers are load balanced on every send() or publish() .+
    I have performed some tests and I don't see the expected behaviour that is to say load-balancing for each send or publish call.
    So first what does mean "non-anonymous producers" ? Does that mean that we have to create JMS connection with username/password arguments ? If yes, I have used the same credentials than the ones used for the admin console and again I don't see load-balancing on physical queues belonging to one distributed queue !
    Could you give, please, me advice on how to get the load-balancing working per send or publish call ?
    Best Regards.

    Hello,
    The content of the config.xml:
    <?xml version='1.0' encoding='UTF-8'?>
    <domain xmlns="http://xmlns.oracle.com/weblogic/domain" xmlns:sec="http://xmlns.oracle.com/weblogic/security" xmlns:wls="http://xmlns.oracle.com/weblogic/security/wls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/security/xacml http://xmlns.oracle.com/weblogic/security/xacml/1.0/xacml.xsd http://xmlns.oracle.com/weblogic/security/providers/passwordvalidator http://xmlns.oracle.com/weblogic/security/providers/passwordvalidator/1.0/passwordvalidator.xsd http://xmlns.oracle.com/weblogic/domain http://xmlns.oracle.com/weblogic/1.0/domain.xsd http://xmlns.oracle.com/weblogic/security http://xmlns.oracle.com/weblogic/1.0/security.xsd http://xmlns.oracle.com/weblogic/security/wls http://xmlns.oracle.com/weblogic/security/wls/1.0/wls.xsd http://www.bea.com/ns/weblogic/90/security/extension http://xmlns.oracle.com/weblogic/1.0/security.xsd">
    <name>FRANCOISdomain</name>
    <domain-version>10.3.2.0</domain-version>
    <security-configuration>
    <name>FRANCOISdomain</name>
    <realm>
    <sec:authentication-provider xsi:type="wls:default-authenticatorType">
    <sec:control-flag>OPTIONAL</sec:control-flag>
    </sec:authentication-provider>
    <sec:authentication-provider xsi:type="wls:default-identity-asserterType">
    <sec:active-type>AuthenticatedUser</sec:active-type>
    </sec:authentication-provider>
    <sec:authentication-provider xmlns:ext="http://www.bea.com/ns/weblogic/90/security/extension" xsi:type="ext:agent-authenticatorType">
    <n1:name xmlns:n1="http://www.bea.com/ns/weblogic/90/security">OpenAMProvider</n1:name>
    <n2:control-flag xmlns:n2="http://www.bea.com/ns/weblogic/90/security">OPTIONAL</n2:control-flag>
    </sec:authentication-provider>
    <sec:role-mapper xmlns:xac="http://xmlns.oracle.com/weblogic/security/xacml" xsi:type="xac:xacml-role-mapperType"></sec:role-mapper>
    <sec:authorizer xmlns:xac="http://xmlns.oracle.com/weblogic/security/xacml" xsi:type="xac:xacml-authorizerType"></sec:authorizer>
    <sec:adjudicator xsi:type="wls:default-adjudicatorType"></sec:adjudicator>
    <sec:credential-mapper xsi:type="wls:default-credential-mapperType"></sec:credential-mapper>
    <sec:cert-path-provider xsi:type="wls:web-logic-cert-path-providerType"></sec:cert-path-provider>
    <sec:cert-path-builder>WebLogicCertPathProvider</sec:cert-path-builder>
    <sec:name>myrealm</sec:name>
    <sec:password-validator xmlns:pas="http://xmlns.oracle.com/weblogic/security/providers/passwordvalidator" xsi:type="pas:system-password-validatorType">
    <sec:name>SystemPasswordValidator</sec:name>
    <pas:min-password-length>8</pas:min-password-length>
    <pas:min-numeric-or-special-characters>1</pas:min-numeric-or-special-characters>
    </sec:password-validator>
    </realm>
    <default-realm>myrealm</default-realm>
    <credential-encrypted>{AES}mq1iuVKohqULL/lwkqBF0PCxYeSXcHavSgc2TO4mKEWr81KYRukVzT/6Icj2576UhryaX5E/RzUKDJUZrEWAshpbE9B023NHogEtz7K0XQhToHxukFCiBy5I5mM8XpN4</credential-encrypted>
    <node-manager-username>myusername</node-manager-username>
    <node-manager-password-encrypted>{AES}r3SsMwpQiaNUYrGsTljMgyB9i4A0TELOfOni+RxRP/0=</node-manager-password-encrypted>
    </security-configuration>
    <jta>
    <timeout-seconds>120</timeout-seconds>
    </jta>
    <log>
    <file-name>logs/FRANCOISdomain.log</file-name>
    <rotation-type>bySize</rotation-type>
    <number-of-files-limited>true</number-of-files-limited>
    <file-count>7</file-count>
    <file-min-size>20480</file-min-size>
    <rotate-log-on-startup>true</rotate-log-on-startup>
    <log4j-logging-enabled>false</log4j-logging-enabled>
    </log>
    <snmp-agent-deployment>
    <name>ServerSNMPAgent-0</name>
    <enabled>true</enabled>
    <send-automatic-traps-enabled>true</send-automatic-traps-enabled>
    <snmp-port>1610</snmp-port>
    <snmp-trap-version>1</snmp-trap-version>
    <community-prefix>public</community-prefix>
    <community-based-access-enabled>true</community-based-access-enabled>
    <snmp-engine-id>ServerSNMPAgent-0</snmp-engine-id>
    <authentication-protocol>noAuth</authentication-protocol>
    <privacy-protocol>noPriv</privacy-protocol>
    <inform-retry-interval>10000</inform-retry-interval>
    <max-inform-retry-count>1</max-inform-retry-count>
    <localized-key-cache-invalidation-interval>3600000</localized-key-cache-invalidation-interval>
    <snmp-access-for-user-m-beans-enabled>true</snmp-access-for-user-m-beans-enabled>
    <inform-enabled>false</inform-enabled>
    <master-agent-x-port>7050</master-agent-x-port>
    <target>AdminServer</target>
    </snmp-agent-deployment>
    <server>
    <name>AdminServer</name>
    <log>
    <name>AdminServer</name>
    <file-name>logs/AdminServer__%yyyy%_%MM%_%dd%_%hh%_%mm%.log</file-name>
    <rotation-type>bySize</rotation-type>
    <file-min-size>20480</file-min-size>
    <logger-severity>Info</logger-severity>
    <log-file-severity>Notice</log-file-severity>
    <stdout-severity>Notice</stdout-severity>
    <domain-log-broadcast-severity>Notice</domain-log-broadcast-severity>
    <memory-buffer-severity>Trace</memory-buffer-severity>
    </log>
    <listen-port>20001</listen-port>
    <iiop-enabled>true</iiop-enabled>
    <default-iiop-user>iiopuser</default-iiop-user>
    <default-iiop-password-encrypted>{AES}v2+TWtuxeDCyJ5ztyFko4t3ISkqKnlXEGK350FHvCXM=</default-iiop-password-encrypted>
    <listen-address>10.10.166.103</listen-address>
    </server>
    <server>
    <name>managed1</name>
    <reverse-dns-allowed>false</reverse-dns-allowed>
    <native-io-enabled>true</native-io-enabled>
    <thread-pool-percent-socket-readers>33</thread-pool-percent-socket-readers>
    <max-message-size>10000000</max-message-size>
    <max-http-message-size>-1</max-http-message-size>
    <complete-message-timeout>60</complete-message-timeout>
    <idle-connection-timeout>65</idle-connection-timeout>
    <period-length>60000</period-length>
    <idle-periods-until-timeout>4</idle-periods-until-timeout>
    <dgc-idle-periods-until-timeout>5</dgc-idle-periods-until-timeout>
    <ssl>
    <enabled>true</enabled>
    <hostname-verifier xsi:nil="true"></hostname-verifier>
    <hostname-verification-ignored>false</hostname-verification-ignored>
    <export-key-lifespan>500</export-key-lifespan>
    <client-certificate-enforced>false</client-certificate-enforced>
    <listen-port>20012</listen-port>
    <two-way-ssl-enabled>false</two-way-ssl-enabled>
    <server-private-key-alias>myhost.mycompany.com</server-private-key-alias>
    <server-private-key-pass-phrase-encrypted>{AES}haHJwbqbttygoo71Dyb3dQck2VsEd1woFGijvFXM0sA=</server-private-key-pass-phrase-encrypted>
    <ssl-rejection-logging-enabled>true</ssl-rejection-logging-enabled>
    <inbound-certificate-validation>BuiltinSSLValidationOnly</inbound-certificate-validation>
    <outbound-certificate-validation>BuiltinSSLValidationOnly</outbound-certificate-validation>
    <allow-unencrypted-null-cipher>false</allow-unencrypted-null-cipher>
    <use-server-certs>false</use-server-certs>
    </ssl>
    <log>
    <file-name>logs/managed1_%yyyy%_%MM%_%dd%_%hh%_%mm%.log</file-name>
    <rotation-type>bySize</rotation-type>
    <number-of-files-limited>true</number-of-files-limited>
    <file-count>7</file-count>
    <rotation-time>00:00</rotation-time>
    <file-min-size>20480</file-min-size>
    <rotate-log-on-startup>true</rotate-log-on-startup>
    <logger-severity>Debug</logger-severity>
    <logger-severity-properties>com.iplanet=Debug;test.ejb=Debug;com.sun.indentity=Debug;org.apache.http=Debug;test.servlet=Debug</logger-severity-properties>
    <log-file-severity>Debug</log-file-severity>
    <stdout-severity>Debug</stdout-severity>
    <domain-log-broadcast-severity>Debug</domain-log-broadcast-severity>
    <domain-log-broadcast-filter xsi:nil="true"></domain-log-broadcast-filter>
    <memory-buffer-severity>Debug</memory-buffer-severity>
    <memory-buffer-filter xsi:nil="true"></memory-buffer-filter>
    <log4j-logging-enabled>true</log4j-logging-enabled>
    <redirect-stdout-to-server-log-enabled>false</redirect-stdout-to-server-log-enabled>
    <domain-log-broadcaster-buffer-size>50</domain-log-broadcaster-buffer-size>
    </log>
    <max-open-sock-count>-1</max-open-sock-count>
    <stuck-thread-max-time>600</stuck-thread-max-time>
    <stuck-thread-timer-interval>60</stuck-thread-timer-interval>
    <machine>FRANCOIS_Machine1</machine>
    <listen-port>20011</listen-port>
    <listen-port-enabled>true</listen-port-enabled>
    <cluster>FRANCOIS_cluster</cluster>
    <web-server>
    <web-server-log>
    <number-of-files-limited>false</number-of-files-limited>
    </web-server-log>
    <frontend-http-port>0</frontend-http-port>
    <frontend-https-port>0</frontend-https-port>
    <keep-alive-enabled>true</keep-alive-enabled>
    <keep-alive-secs>30</keep-alive-secs>
    <https-keep-alive-secs>60</https-keep-alive-secs>
    <post-timeout-secs>30</post-timeout-secs>
    <max-post-size>-1</max-post-size>
    <send-server-header-enabled>false</send-server-header-enabled>
    <wap-enabled>false</wap-enabled>
    <accept-context-path-in-get-real-path>false</accept-context-path-in-get-real-path>
    </web-server>
    <server-debug>
    <debug-scope>
    <name>weblogic.security</name>
    <enabled>false</enabled>
    </debug-scope>
    <debug-scope>
    <name>weblogic.servlet</name>
    <enabled>false</enabled>
    </debug-scope>
    <debug-scope>
    <name>default</name>
    <enabled>false</enabled>
    </debug-scope>
    <debug-scope>
    <name>weblogic</name>
    <enabled>false</enabled>
    </debug-scope>
    </server-debug>
    <listen-address>host.mycompany.com</listen-address>
    <accept-backlog>300</accept-backlog>
    <login-timeout-millis>5000</login-timeout-millis>
    <java-compiler>javac</java-compiler>
    <tunneling-enabled>true</tunneling-enabled>
    <tunneling-client-ping-secs>45</tunneling-client-ping-secs>
    <tunneling-client-timeout-secs>40</tunneling-client-timeout-secs>
    <server-start>
    <java-vendor>Sun</java-vendor>
    <java-home>/opt/32bit/jdk1.6.0_18</java-home>
    <class-path>${CLASSPATH}:/opt/32bit/jdk1.6.0_18/lib/tools.jar:/product/DSL60/wlserver_10.3/server/lib/weblogic_sp.jar:/product/DSL60/wlserver_10.3/server/lib/weblogic.jar:/product/FILES/PAF/j2ee_agents/weblogic_v10_agent/lib/agent.jar:/product/FILES/PAF/j2ee_agents/weblogic_v10_agent/lib/openssoclientsdk.jar:/product/FILES/PAF/j2ee_agents/weblogic_v10_agent/locale:/product/FILES/PAF/j2ee_agents/weblogic_v10_agent/Agent_002/config</class-path>
    <bea-home>/product/DSL60</bea-home>
    <root-directory>/product/DSL60/wls/domain/FRANCOISdomain</root-directory>
    <security-policy-file>/product/DSL60/wlserver_10.3/server/lib/weblogic.policy</security-policy-file>
    <arguments>-Dname=WL1_MYCOMPANY_PID -Dlog4j.configuration=file:///product/DSL60/wls/domain/FRANCOISdomain/lib/log4j.xml -Declipselink.register.run.mbean=true -Xms1024m -Xmx1024m -XX:MaxPermSize=256m -d32 -Doracle.net.tns.admin=/opt/oracle/11.2.0/network/admin/tnsname.ora -Djava.util.logging.config.file=/product/FILES/PAF/j2ee_agents/weblogic_v10_agent/config/OpenSSOAgentLogConfig.properties -DLOG_COMPATMODE=Off</arguments>
    <username>myusername</username>
    <password-encrypted>{AES}+o7kEIuvUEC1C4IoVveulxKTyN3upgWDglcqqgOEwt4=</password-encrypted>
    </server-start>
    <jta-migratable-target>
    <user-preferred-server>managed1</user-preferred-server>
    <cluster>FRANCOIS_cluster</cluster>
    </jta-migratable-target>
    <low-memory-time-interval>3600</low-memory-time-interval>
    <low-memory-sample-size>10</low-memory-sample-size>
    <low-memory-granularity-level>5</low-memory-granularity-level>
    <low-memory-gc-threshold>5</low-memory-gc-threshold>
    <auto-kill-if-failed>true</auto-kill-if-failed>
    <health-check-interval-seconds>30</health-check-interval-seconds>
    <managed-server-independence-enabled>true</managed-server-independence-enabled>
    <client-cert-proxy-enabled>false</client-cert-proxy-enabled>
    <key-stores>CustomIdentityAndCustomTrust</key-stores>
    <custom-identity-key-store-file-name>/product/FILES/PAF/cert/opensso.jks</custom-identity-key-store-file-name>
    <custom-identity-key-store-type>JKS</custom-identity-key-store-type>
    <custom-identity-key-store-pass-phrase-encrypted>{AES}yg0Tx8tcfZsqM2sYbfTPEDl7ceN5X5zUEALaBM58wS8=</custom-identity-key-store-pass-phrase-encrypted>
    <custom-trust-key-store-file-name>/product/FILES/PAF/cert/opensso.jks</custom-trust-key-store-file-name>
    <custom-trust-key-store-type>JKS</custom-trust-key-store-type>
    <custom-trust-key-store-pass-phrase-encrypted>{AES}8Ghgu1RUTF7st3f69sZKdb6vTfWiFvk1g+CUi63utBA=</custom-trust-key-store-pass-phrase-encrypted>
    <overload-protection>
    <shared-capacity-for-work-managers>1111</shared-capacity-for-work-managers>
    <panic-action>system-exit</panic-action>
    <failure-action>no-action</failure-action>
    <free-memory-percent-high-threshold>0</free-memory-percent-high-threshold>
    <free-memory-percent-low-threshold>0</free-memory-percent-low-threshold>
    </overload-protection>
    </server>
    <server>
    <name>managed2</name>
    <reverse-dns-allowed>false</reverse-dns-allowed>
    <native-io-enabled>true</native-io-enabled>
    <thread-pool-percent-socket-readers>33</thread-pool-percent-socket-readers>
    <max-message-size>10000000</max-message-size>
    <complete-message-timeout>60</complete-message-timeout>
    <idle-connection-timeout>65</idle-connection-timeout>
    <period-length>60000</period-length>
    <idle-periods-until-timeout>4</idle-periods-until-timeout>
    <dgc-idle-periods-until-timeout>5</dgc-idle-periods-until-timeout>
    <log>
    <file-name>logs/managed2_%yyyy%_%MM%_%dd%_%hh%_%mm%.log</file-name>
    <rotation-type>bySize</rotation-type>
    <number-of-files-limited>true</number-of-files-limited>
    <file-count>7</file-count>
    <rotation-time>00:00</rotation-time>
    <file-min-size>20480</file-min-size>
    <rotate-log-on-startup>true</rotate-log-on-startup>
    <logger-severity>Debug</logger-severity>
    <logger-severity-properties>org.apache.http=Error</logger-severity-properties>
    <log-file-severity>Debug</log-file-severity>
    <stdout-severity>Debug</stdout-severity>
    <domain-log-broadcast-severity>Debug</domain-log-broadcast-severity>
    <domain-log-broadcast-filter xsi:nil="true"></domain-log-broadcast-filter>
    <memory-buffer-severity>Debug</memory-buffer-severity>
    <memory-buffer-filter xsi:nil="true"></memory-buffer-filter>
    <log4j-logging-enabled>true</log4j-logging-enabled>
    <redirect-stdout-to-server-log-enabled>false</redirect-stdout-to-server-log-enabled>
    <domain-log-broadcaster-buffer-size>50</domain-log-broadcaster-buffer-size>
    </log>
    <max-open-sock-count>-1</max-open-sock-count>
    <stuck-thread-max-time>600</stuck-thread-max-time>
    <stuck-thread-timer-interval>60</stuck-thread-timer-interval>
    <machine>FRANCOIS_Machine1</machine>
    <listen-port>20021</listen-port>
    <cluster>FRANCOIS_cluster</cluster>
    <web-server>
    <web-server-log>
    <number-of-files-limited>false</number-of-files-limited>
    </web-server-log>
    </web-server>
    <listen-address>10.10.166.103</listen-address>
    <accept-backlog>300</accept-backlog>
    <login-timeout-millis>5000</login-timeout-millis>
    <tunneling-enabled>true</tunneling-enabled>
    <tunneling-client-ping-secs>45</tunneling-client-ping-secs>
    <tunneling-client-timeout-secs>40</tunneling-client-timeout-secs>
    <server-start>
    <java-vendor>Sun</java-vendor>
    <java-home>/opt/32bit/jdk1.6.0_18</java-home>
    <class-path>${CLASSPATH}:/opt/32bit/jdk1.6.0_18/lib/tools.jar:/product/DSL60/wlserver_10.3/server/lib/weblogic_sp.jar:/product/DSL60/wlserver_10.3/server/lib/weblogic.jar:/product/FILES/PAF/j2ee_agents/weblogic_v10_agent/lib/agent.jar:/product/FILES/PAF/j2ee_agents/weblogic_v10_agent/lib/openssoclientsdk.jar:/product/FILES/PAF/j2ee_agents/weblogic_v10_agent/locale:/product/FILES/PAF/j2ee_agents/weblogic_v10_agent/Agent_003/config</class-path>
    <bea-home>/product/DSL60</bea-home>
    <root-directory>/product/DSL60/wls/domain/FRANCOISdomain</root-directory>
    <security-policy-file>/product/DSL60/wlserver_10.3/server/lib/weblogic.policy</security-policy-file>
    <arguments>-Dname=WL1_MYCOMPANY_PID -Dlog4j.configuration=file:///product/DSL60/wls/domain/FRANCOISdomain/lib/log4j.xml -Declipselink.register.run.mbean=true -Xms1024m -Xmx1024m -XX:MaxPermSize=256m -d32 -Doracle.net.tns.admin=/opt/oracle/11.2.0/network/admin/tnsname.ora -Djava.util.logging.config.file=/product/FILES/PAF/j2ee_agents/weblogic_v10_agent/config/OpenSSOAgentLogConfig.properties -DLOG_COMPATMODE=Off</arguments>
    <username>myusername</username>
    <password-encrypted>{AES}AveXfjkD6M1nkwLoBOtN9QhrOA+C1d84AP+A2WThpN0=</password-encrypted>
    </server-start>
    <jta-migratable-target>
    <user-preferred-server>managed2</user-preferred-server>
    <cluster>FRANCOIS_cluster</cluster>
    </jta-migratable-target>
    <low-memory-time-interval>3600</low-memory-time-interval>
    <low-memory-sample-size>10</low-memory-sample-size>
    <low-memory-granularity-level>5</low-memory-granularity-level>
    <low-memory-gc-threshold>5</low-memory-gc-threshold>
    <auto-kill-if-failed>true</auto-kill-if-failed>
    <health-check-interval-seconds>30</health-check-interval-seconds>
    <managed-server-independence-enabled>true</managed-server-independence-enabled>
    </server>
    <cluster>
    <name>FRANCOIS_cluster</name>
    <cluster-address>10.10.166.103:20011,10.10.166.103:20021</cluster-address>
    <default-load-algorithm>round-robin</default-load-algorithm>
    <cluster-messaging-mode>unicast</cluster-messaging-mode>
    <cluster-broadcast-channel></cluster-broadcast-channel>
    <weblogic-plugin-enabled>true</weblogic-plugin-enabled>
    <frontend-http-port>20011</frontend-http-port>
    <frontend-https-port>20012</frontend-https-port>
    <number-of-servers-in-cluster-address>1</number-of-servers-in-cluster-address>
    </cluster>
    <production-mode-enabled>false</production-mode-enabled>
    <embedded-ldap>
    <name>FRANCOISdomain</name>
    <credential-encrypted>{AES}M6zrsdwO+PvT05M07l6QPOBMLacz4b6Z9+DT5EDxQPABYDdIzZbossnMLiXSSodJ</credential-encrypted>
    </embedded-ldap>
    <archive-configuration-count>3</archive-configuration-count>
    <config-backup-enabled>true</config-backup-enabled>
    <configuration-version>10.3.2.0</configuration-version>
    <library>
    <name>mycompany-domain-logging.jar#[email protected]</name>
    <target>FRANCOIS_cluster</target>
    <module-type xsi:nil="true"></module-type>
    <source-path>servers/AdminServer/upload/mycompany-domain-logging.jar/app/mycompany-domain-logging.jar</source-path>
    <security-dd-model>DDOnly</security-dd-model>
    <staging-mode>stage</staging-mode>
    </library>
    <library>
    <name>eclipselink-custom.jar#[email protected]</name>
    <target>FRANCOIS_cluster</target>
    <module-type xsi:nil="true"></module-type>
    <source-path>servers/AdminServer/upload/eclipselink-custom.jar/app/eclipselink-custom.jar</source-path>
    <security-dd-model>DDOnly</security-dd-model>
    <staging-mode>stage</staging-mode>
    </library>
    <machine>
    <name>FRANCOIS_Machine1</name>
    <node-manager>
    <nm-type>Plain</nm-type>
    <listen-address>10.10.166.103</listen-address>
    <listen-port>5566</listen-port>
    </node-manager>
    </machine>
    <jms-server>
    <name>JMSServer1</name>
    <target>managed1</target>
    <persistent-store>jdbcStore1</persistent-store>
    </jms-server>
    <jms-server>
    <name>JMSServer2</name>
    <target>managed2</target>
    <persistent-store>jdbcStore2</persistent-store>
    </jms-server>
    <migratable-target>
    <name>managed1 (migratable)</name>
    <notes>This is a system generated default migratable target for a server. Do not delete manually.</notes>
    <user-preferred-server>managed1</user-preferred-server>
    <cluster>FRANCOIS_cluster</cluster>
    </migratable-target>
    <migratable-target>
    <name>managed2 (migratable)</name>
    <notes>This is a system generated default migratable target for a server. Do not delete manually.</notes>
    <user-preferred-server>managed2</user-preferred-server>
    <cluster>FRANCOIS_cluster</cluster>
    </migratable-target>
    <startup-class>
    <name>AppenderStartup</name>
    <target>FRANCOIS_cluster</target>
    <class-name>com.mycompany.logging.AppenderStartup</class-name>
    <load-before-app-deployments>true</load-before-app-deployments>
    </startup-class>
    <jdbc-store>
    <name>jdbcStore1</name>
    <prefix-name>jdbcStore1</prefix-name>
    <data-source>technical_mycompany_noxa.ds</data-source>
    <target>managed1</target>
    </jdbc-store>
    <jdbc-store>
    <name>jdbcStore2</name>
    <prefix-name>jdbcStore2</prefix-name>
    <data-source>mycompany_noxa_failover.ds</data-source>
    <target>managed2</target>
    </jdbc-store>
    <jms-system-resource>
    <name>EclipseLink_Module</name>
    <target>FRANCOIS_cluster</target>
    <sub-deployment>
    <name>DeployToCluster</name>
    <target>FRANCOIS_cluster</target>
    </sub-deployment>
    <descriptor-file-name>jms/eclipselink_module-jms.xml</descriptor-file-name>
    </jms-system-resource>
    <jms-system-resource>
    <name>TESTJMS</name>
    <target>FRANCOIS_cluster</target>
    <sub-deployment>
    <name>TestQueueM1</name>
    <target>JMSServer1</target>
    </sub-deployment>
    <sub-deployment>
    <name>TestQueueM2</name>
    <target>JMSServer2</target>
    </sub-deployment>
    <descriptor-file-name>jms/testjms-jms.xml</descriptor-file-name>
    </jms-system-resource>
    <admin-server-name>AdminServer</admin-server-name>
    <jdbc-system-resource>
    <name>mycompany_xa_failover.ds</name>
    <target>FRANCOIS_cluster</target>
    <descriptor-file-name>jdbc/mycompany_xa_failover2eds-4849-jdbc.xml</descriptor-file-name>
    </jdbc-system-resource>
    <jdbc-system-resource>
    <name>mycompany_noxa_failover.ds</name>
    <target>FRANCOIS_cluster</target>
    <descriptor-file-name>jdbc/mycompany_noxa_failover2eds-3264-jdbc.xml</descriptor-file-name>
    </jdbc-system-resource>
    <jdbc-system-resource>
    <name>technical_mycompany_noxa.ds</name>
    <target>FRANCOIS_cluster</target>
    <descriptor-file-name>jdbc/technical_mycompany_noxa2eds-3047-jdbc.xml</descriptor-file-name>
    </jdbc-system-resource>
    </domain>
    Best Regards.

  • OSB jms clustering - load balancing seems to be not working

    Hi All,
    I have one admin server and two managed servers running ( one of these managed server is running in the remote linux machine) in a cluster
    I have connectionfactory created with load balance enabled with round robin
    and server affinity is disabled
    I have queue created as uniformly distributed Q
    I have a proxy service with load balancing as roundrobin and endpoint URL as below
    jms://rdoelapp001011:61703,rdoelapp001013:61703/synergyConnectionFactory1/MM_gridQ0
    If I execute this proxy sending messages it always go to one server only. There is no message going to the other server.
    If I shutdown the server that receives messages then the other server is receiving messages. Seems like fail-over is working but not the load-balancing
    There is one point may be worth mentioning here is, from the admin console if I look at the servers for the clusters it has below information
    Name      State      Drop-out Frequency      Remote Groups Discovered      Local Group Leader      Total Groups      Discovered Group Leaders      Groups      Primary      
    synergyOSBServer1     RUNNING     Never     0     synergyOSBServer1     1     synergyOSBServer1     *{synergyOSBServer1}*     0          
    synergyOSBServer2     RUNNING     Never     0     synergyOSBServer1     1     synergyOSBServer1     *{synergyOSBServer1, synergyOSBServer2}* 0
    one server has groups as {synergYOSBServer1} instead of {synergyOSBServer1, synergyOSBServer2}. Does that look correct?
    here is my jms xml file
    <?xml version='1.0' encoding='UTF-8'?>
    <weblogic-jms xmlns="http://xmlns.oracle.com/weblogic/weblogic-jms" xmlns:sec="http://xmlns.oracle.com/weblogic/security" xmlns:wls="http://xmlns.oracle.com/weblogic/security/wls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-jms http://xmlns.oracle.com/weblogic/weblogic-jms/1.1/weblogic-jms.xsd">
    *<connection-factory name="synergyConnectionFactory1">*
    *<sub-deployment-name>synergySubDeploy1</sub-deployment-name>*
    *<default-targeting-enabled>false</default-targeting-enabled>*
    *<jndi-name>synergyConnectionFactory1</jndi-name>*
    *<client-params>*
    *<client-id-policy>Restricted</client-id-policy>*
    *<subscription-sharing-policy>Exclusive</subscription-sharing-policy>*
    *<messages-maximum>10</messages-maximum>*
    *</client-params>*
    *<transaction-params>*
    *<xa-connection-factory-enabled>false</xa-connection-factory-enabled>*
    *</transaction-params>*
    *<load-balancing-params>*
    *<load-balancing-enabled>true</load-balancing-enabled>*
    *<server-affinity-enabled>false</server-affinity-enabled>*
    *</load-balancing-params>*
    *<security-params>*
    *<attach-jmsx-user-id>false</attach-jmsx-user-id>*
    *</security-params>*
    *</connection-factory>*
    <uniform-distributed-queue name="errorQ">
    <sub-deployment-name>synergySubDeploy1</sub-deployment-name>
    <default-targeting-enabled>false</default-targeting-enabled>
    <jndi-name>errorQ</jndi-name>
    <load-balancing-policy>Round-Robin</load-balancing-policy>
    <forward-delay>-1</forward-delay>
    <reset-delivery-count-on-forward>true</reset-delivery-count-on-forward>
    </uniform-distributed-queue>
    <uniform-distributed-queue name="undlvQ">
    <sub-deployment-name>synergySubDeploy1</sub-deployment-name>
    <default-targeting-enabled>false</default-targeting-enabled>
    <jndi-name>undlvQ</jndi-name>
    <load-balancing-policy>Round-Robin</load-balancing-policy>
    <forward-delay>-1</forward-delay>
    <reset-delivery-count-on-forward>true</reset-delivery-count-on-forward>
    </uniform-distributed-queue>
    *<uniform-distributed-queue name="MM_gridQ0">*
    *<sub-deployment-name>synergySubDeploy1</sub-deployment-name>*
    *<default-targeting-enabled>false</default-targeting-enabled>*
    *<jndi-name>MM_gridQ0</jndi-name>*
    *<load-balancing-policy>Round-Robin</load-balancing-policy>*
    *<forward-delay>5</forward-delay>*
    *<reset-delivery-count-on-forward>true</reset-delivery-count-on-forward>*
    *</uniform-distributed-queue>*
    <saf-imported-destinations name="synergySAFImportedDest1">
    <sub-deployment-name>synergySubDeploy1</sub-deployment-name>
    <default-targeting-enabled>false</default-targeting-enabled>
    <saf-queue name="gridQ0">
    <remote-jndi-name>MB_gridQ0</remote-jndi-name>
    <local-jndi-name>gridQ0</local-jndi-name>
    <non-persistent-qos>At-Least-Once</non-persistent-qos>
    <time-to-live-default>0</time-to-live-default>
    <use-saf-time-to-live-default>false</use-saf-time-to-live-default>
    <unit-of-order-routing>Hash</unit-of-order-routing>
    </saf-queue>
    <jndi-prefix>MB_</jndi-prefix>
    <saf-remote-context>synergySAFContext1</saf-remote-context>
    <saf-error-handling>synergySAFErrorHndlr1</saf-error-handling>
    <time-to-live-default>0</time-to-live-default>
    <use-saf-time-to-live-default>false</use-saf-time-to-live-default>
    <unit-of-order-routing>Hash</unit-of-order-routing>
    </saf-imported-destinations>
    <saf-remote-context name="synergySAFContext1">
    <saf-login-context>
    <loginURL>t3://rdoelapp001013:7001</loginURL>
    <username>weblogic</username>
    <password-encrypted>{AES}z9VY/K4M7ItAr2Vedvhx+j9htR/HkbY2LRh1ED+Cz5Y=</password-encrypted>
    </saf-login-context>
    <compression-threshold>2147483647</compression-threshold>
    </saf-remote-context>
    <saf-error-handling name="synergySAFErrorHndlr1">
    <policy>Log</policy>
    <log-format xsi:nil="true"></log-format>
    <saf-error-destination xsi:nil="true"></saf-error-destination>
    </saf-error-handling>
    </weblogic-jms>
    Any help will be greatly appriciated
    Edited by: 818591 on Feb 16, 2011 11:28 AM

    I am not getting you here "the right approach is to make OSB run on the man server cluster and not on admin server. "
    I have a jms proxy service that I created from admin console
    And also I have gone thru the step 5 in the link below
    http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/deploy/config.html#wp1524235
    If I am not wrong, the proxy service endpoint URI determines where it is pointing to. If it is a cluster environment, it should point to a clustered address
    My proxy has below endpoint URI
    jms://rdoelapp001011:61703,rdoelapp001013:61703/synergyConnectionFactory1/MM_gridQ0
    and rdoelapp001011:61703,rdoelapp001013:61703 is my cluster address
    As per your suggestion "To fix your problem, *make osb to run on the cluster* and specify the same URL for the jms proxy service"
    Could you please provide some instruction how would I "make osb jms proxy service to run in a cluster"
    As a note, I have Q defined as a distributed Q and connection factory targets to the cluster. UDQ also targtes to the cluster.
    Just for a testing I have created another manged server running local to the machine where my admin server is running
    And I created a proxy by following steps as I mentioned above and with endpoint URI as below
    jms://rdoelapp001011:61703,rdoelapp001013:61703,*rdoelapp001011:61700*/synergyConnectionFactory1/MM_gridQ0
    where the new address of my cluster is rdoelapp001011:61703,rdoelapp001013:61703,rdoelapp001011:61700
    It did create consumers in both the managed servers in the cluster that are running locally, but no consumers in the remote managed server.
    So I am kind of leaning towards thinking that there is some incorrect setup for the remote managed server and may be admin server is not able to communicate to the remote server for some reason but not sure about it..
    As a note the cluster is setup to communicate using "unicast" channel
    and I created a channel in each manged server with the same name
    here is the cluster configuration
    <name>synergyCluster1</name>
    <cluster-address>rdoelapp001011:61703,rdoelapp001013:61703,rdoelapp001011:61700</cluster-address>
    <default-load-algorithm>round-robin</default-load-algorithm>
    *<cluster-messaging-mode>unicast</cluster-messaging-mode>*
    *<cluster-broadcast-channel>synergyChannel1</cluster-broadcast-channel>*
    *<number-of-servers-in-cluster-address>3</number-of-servers-in-cluster-address>*
    </cluster>
    here are the twoOSBserver configuration
    <server>
    <name>synergyOSBServer1</name>
    <machine xsi:nil="true"></machine>
    <listen-port>61703</listen-port>
    <cluster>synergyCluster1</cluster>
    <web-server>
    <web-server-log>
    <number-of-files-limited>false</number-of-files-limited>
    </web-server-log>
    </web-server>
    <server-debug>
    <debug-scope>
    <name>weblogic.jms.saf</name>
    <enabled>true</enabled>
    </debug-scope>
    <debug-jmssaf>true</debug-jmssaf>
    <debug-saf-sending-agent>true</debug-saf-sending-agent>
    </server-debug>
    <listen-address>localhost</listen-address>
    <network-access-point>
    *<name>synergyChannel1</name>*
    *<protocol>cluster-broadcast</protocol>*
    *<listen-address>localhost</listen-address>*
    *<listen-port>61702</listen-port>*
    <http-enabled-for-this-protocol>true</http-enabled-for-this-protocol>
    <tunneling-enabled>false</tunneling-enabled>
    *<outbound-enabled>true</outbound-enabled>*
    *<enabled>true</enabled>*
    <two-way-ssl-enabled>false</two-way-ssl-enabled>
    <client-certificate-enforced>false</client-certificate-enforced>
    </network-access-point>
    <jta-migratable-target>
    <user-preferred-server>synergyOSBServer1</user-preferred-server>
    <cluster>synergyCluster1</cluster>
    </jta-migratable-target>
    </server>
    <server>
    <name>synergyOSBServer2</name>
    <ssl>
    <enabled>false</enabled>
    </ssl>
    <machine xsi:nil="true"></machine>
    <listen-port>61703</listen-port>
    <listen-port-enabled>true</listen-port-enabled>
    <cluster>synergyCluster1</cluster>
    <web-server>
    <web-server-log>
    <number-of-files-limited>false</number-of-files-limited>
    </web-server-log>
    </web-server>
    <listen-address>rdoelapp001013</listen-address>
    <network-access-point>
    *<name>synergyChannel1</name>*
    *<protocol>cluster-broadcast</protocol>*
    *<listen-address>rdoelapp001013</listen-address>*
    *<listen-port>61702</listen-port>*
    <http-enabled-for-this-protocol>true</http-enabled-for-this-protocol>
    <tunneling-enabled>false</tunneling-enabled>
    *<outbound-enabled>true</outbound-enabled>*
    *<enabled>true</enabled>*
    <two-way-ssl-enabled>false</two-way-ssl-enabled>
    <client-certificate-enforced>false</client-certificate-enforced>
    </network-access-point>
    <java-compiler>javac</java-compiler>
    <jta-migratable-target>
    <user-preferred-server>synergyOSBServer2</user-preferred-server>
    <cluster>synergyCluster1</cluster>
    </jta-migratable-target>
    <client-cert-proxy-enabled>false</client-cert-proxy-enabled>
    </server>
    <server>
    Edited by: 818591 on Feb 18, 2011 11:26 AM

  • Load balancing In weblogic 6.1 JMS Cluster

              hi
              i have implemented distributed queues in weblogic as suggested in the JMS performance
              guide.but the problem is that of the 3 queues in cluster the messages always end
              up going to the same queue and the remaining 2 remainin queues are empty. i want
              to perfomr load balancing but i think this ios available only in weblogic 7.0.can
              anyone suggest any alternative workaround ??
              

    I wonder if the JNDINameReplicated setting is taking effect.
              Are there any warning or error messages in your logs?
              Can you see statistics for all three JMS servers on the console?
              Does it work if you use the "./a" syntax?
              illusionz70 wrote:
              > hi,
              > 3 machines are in a cluster.all three machines have their different jms servers
              > and queues under them but target teh same connection factory.therefore all three
              > servers target 3 different machines which are in a cluster. i have weblogic 6.1
              > to which i applied the repective CR(patch) which enables the JNDIREPLICATED parameter.i
              > set this parameter to false.as a result i am able to monitor the 3 queues which
              > have the same jndi names but under different servers.but the problem is when i
              > lookup the queues from client using the machine's ip address(not the cluster ip),
              > the results are haywire.... even though i target say a ip of 30 , the msg goes
              > to ip 20... i dont know why..do you have any idea.
              > NOTE : i dont use the ./a ( where queue is the quename ) syntax in createqueue.
              > i look up the queue using the JNDI name.
              > thanks
              > Tom Barnes <[email protected].bea.com>
              > wrote:
              >
              >>Make sure that your context host and connection
              >>factory (CF) host are actually the same as what
              >>you're expecting.
              >>
              >>How, exactly, are your clients:
              >> (A) looking up their context
              >> (B) looking up their CF
              >>
              >>What are the targets for the CF?
              >>What are the URLs for the servers?
              >>What is the URL the clients are using? How is it
              >>load-balanced among the servers?
              >>Are the servers clustered?
              >>
              >>Tom
              >>
              >>illusionz70 wrote:
              >>
              >>
              >>>hi
              >>> i have implemented distributed queues in weblogic as suggested in
              >>
              >>the JMS performance
              >>
              >>>guide.but the problem is that of the 3 queues in cluster the messages
              >>
              >>always end
              >>
              >>>up going to the same queue and the remaining 2 remainin queues are
              >>
              >>empty. i want
              >>
              >>>to perfomr load balancing but i think this ios available only in weblogic
              >>
              >>7.0.can
              >>
              >>>anyone suggest any alternative workaround ??
              >>
              >
              

  • JMS Topic Load Balancing on Cluster

    Folks
    How do we load balance JMS Topic on a cluster.
    We have a 2 App Server configuration to a single cluster.
    If we have Topic A on both OC4J instances 1,2 - and we send a message to 1 - only clients connected to 1 get the message.
    What do we need to do to setup JMS clustering so that the messages sent to Topic A can be handled by both OC4J instances.

    Hi Ravi,
    Check this forum:
    /thread/24959 [original link is broken]
    Load Balancing for J2EE Web Applications
    http://help.sap.com/saphelp_nw04/helpdata/en/ce/4522d557b26942b202e05ff9ee1f3a/frameset.htm
    SAP Web Dispatcher - Load balancing EP6.0 SP2
    /thread/19304 [original link is broken]
    Reward points if this helps
    Regards
    Pragathi.

  • WLS 5.1 JMS and Message load balancing

    Would I be right in thinking that WLS 5.1 offers no out of the box component that distributes incoming messages over a series of JMS Destinations? (much like a distributed destination would do in WLS 8.1?)
              Is it BEA's recommendation then that any JMS Client sending to these JMS destinations pick's up the responsibility for carrying out load balancing?
              regards
              Barry

    Would I be right in thinking that WLS 5.1 offers no          > out of the box component that distributes incoming
              > messages over a series of JMS Destinations? (much
              > like a distributed destination would do in WLS 8.1?)
              Yes.
              >
              >
              > Is it BEA's recommendation then that any JMS Client
              > sending to these JMS destinations pick's up the
              > responsibility for carrying out load balancing?
              Application dependent.
              For example, you could set up an EJB that enqueues to the local queue - where the local queue's name is inferred from the server the EJB is running on.
              Load balancing (and fail-over) would then be accomplished by invoking the EJB and depending on standard EJB features...
              >
              > regards
              > Barry

  • JMS cluster and distributed destination load balancing question

              Hi All
              Scenario: 2 WL 7 servers in cluster with distributed queue in both of them and
              both the servers have an MDB deployed for the queue. Now if a producer in server
              #1 writes to the Queue - he will write to the local queue - right?
              In that case will the local MDB pick up the message or that can be load balanced?
              OR the write it self can be load balanced?
              I really want either the write or the read to be load balanced - but I suspect
              server affinity will play a mess here. Can anyone pls clarify.
              thanks
              Anamitra
              

              Hi All
              Scenario: 2 WL 7 servers in cluster with distributed queue in both of them and
              both the servers have an MDB deployed for the queue. Now if a producer in server
              #1 writes to the Queue - he will write to the local queue - right?
              In that case will the local MDB pick up the message or that can be load balanced?
              OR the write it self can be load balanced?
              I really want either the write or the read to be load balanced - but I suspect
              server affinity will play a mess here. Can anyone pls clarify.
              thanks
              Anamitra
              

  • Message load balancing in PI 7.0

    Hi Experts,
    We have the below requirement. Please suggest a way to make it feasible.
    There would be a threshold limit for the count of messages that are processed by a communication channel.
    The messages being processed by a communication channel have to be counted for a day and if the limit is crossed, the channel has to stop processing the messages for that day.
    We have only File and JMS communication channels in our landscape.
    This activity is being done for load balancing on the system per interface.
    Please suggest if there is any possible way to achieve this.
    If this is not possible, please suggest any other possible way to achieve the load balancing.
    Thank you.
    Regards,
    Subbu

    Hi Subbu,
    You can try this below solution,
    Maintain table in SAP PI (ABAP Stack),evry time when interface executes enter count value in table, next time exeuction read old count value and update new on in Table.
    once coutn reaches max value then you can kill message in mapping level.
    But this is not good desisgn..just idea thats it.
    Regards,
    Raj

  • Load balancing and clustered MDBs using a Queue

    With the following advice/information from
              http://e-docs.bea.com/wls/docs61/faq/jms.html#252978,
              "One customer had an example where topic MDBs are needed in which there will
              be multiple implementations of the MDBs listening on the same topic. In
              other words, more than one MDB with a different implementation may be
              subscribing to the same topic. The client has no advanced way of knowing how
              many different kinds of MDBs may be listening on the same topic, but it is
              possible for there to be more than one listener, therefore topics, not
              queues. For each kind of MDB listening on the topic, the message is
              delivered exactly once (i.e., the message will be delivered exactly once to
              an instance in each named MDB pool listening on the topic)."
              If I have a set of MDB's scraping Messages from the JMS Queue, what is the
              load-balancing behavior?
              1) Consider a lightly-loaded system, where each MDB has sufficient time to
              process the message before the next one shows up in the queue. Will the same
              MDB get all the messages?
              2) Consider a heavily-loaded system, where each MDB has insufficient time to
              process the message before the next one shows up in the queue. How would you
              characterize the de facto load-balancing behavior? least-loaded?
              

    Have you tried the SAP WebDispatcher.  This should acomplish what you want. 
    http://help.sap.com/saphelp_nw04/helpdata/en/42/5cfd3b0e59774ee10000000a114084/frameset.htm

  • Load Balancing on XI

    We need ideas to do load balancing for the IS by using external de-central adapter engine or use j2se adapter.
    We are contemplating using a standalone Java instance and connect with the central adapter engine or use a J2se adapter to connect to central adapter engine. if we use a J2SE adapter we will not need a Java instance and therefore less resources on the box.
    We primary aim is to use these adapters for load balacing purposes. We primarily use JMS adapters.
    has anyone used de-central adapter engine and considered pros and cons vs J2SE adapter.
    any comments are appreciated?
    thanks
    tony

    Hi Tony,
    Check out the below links, Hope they give some idea
    Re: Load balancing question
    Re: J2EE Cluster and load balancing
    Re: Standalone adapter engine
    Re: Decentral Adapter Engine
    http://help.sap.com/saphelp_bw31/helpdata/en/53/97583c2439e66fe10000000a114084/content.htm
    Regards
    Vishnu

  • Load balancing not happening on UDQ in weblogic 11g

    Hi Team,
    I have a 2 clusters with two managed servers each on different machines
    Cluster A(On machine 1)
    Managed server A (on machine 1)
    Managed server B(on machine 2)
    I have created 2 JMS servers
    JMS Server A on Managed server A
    JMS Server Bon Managed server B
    and a JMS module on Cluster A
    and JMS connection factory targeted on Cluster A and a uniform distributed queue targeted on JMS server A and JMS Server B
    But load balancing is not happening only one managed server is loaded at a time.. Using weblogic 11(aka 10.2.3)
    Tried disabling server affinity but it did not help ...Can any one please let me know how to fix this?

    Hi,
    When you say load is not balanced and reaching only one managed server.
    I assume both the UDD's targets are reachable and are visible in JNDI tree ?
    also , what kind of application is it - i,e is it clustered app that would be seen as consumers on each UDQ ?
    take a look at the app and check if its clusterred . along with that also take a look at the number of consumers on UDQ instances.
    Let me know what you find.
    Sri

Maybe you are looking for