JMS load balancing - one queue to many consumers

Hi,
I'm sorry if this is a well known bit of knowledge; searching in the forums and googling didn't help.
Is the behaviour of Sun MQ defined for the case where many consumers will be listening to the same queue?
Experiments reveal that messages are usually delivered round-robin, but sometimes one consumer will get two messages in a row, and the other will then get two in a row; then perhaps three messages in a row for each consumer; just eyeballing, I didn't take any notes. Perhaps it's delivering randomly between the number of available consumers?
Nice to know if this is documented somewhere. I would like to set up a Sun MQ cluster (for HA) with 2-3 consumers listening on the same queue.
Best regards,
/ioj

Starting with MQ 4.1, the default delivery policy for autocreated queue is round-robin.
You can try setting consumerFlowLiimit to 1 in which single messages are delivered, one to each consumer in rotation.
Before doing this, please read the section [Adjusting Multiple-Consumer Queue Delivery |http://docs.sun.com/app/docs/doc/820-4916/aeojg?l=en&a=view] to get an overview of message delivery mechanism for multiple-consumer queues.
Hope this help!
~Phuong

Similar Messages

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

  • BPEL + AQ + Load Balancing + OAS Cluster

    Hi all
    Is there a way to provide load balancing when reading AQ messages (JMS queue, not topic) to a OAS Cluster?
    Explaining:
    A BPEL server reads a flat file and send JMS messages using an AQ adapter. In the other side, there is a Java application running on a OAS cluster expecting the JMS messages, reading the queue on the AQ. As there is just one queue and many consumers (6 applications instances running on the cluster), how can I provide JMS load balancing between these 6 applications?
    Sorry if this is not the correct forum to post, if you could recommend another forum I would be glad.
    Thank you
    Marcelo

    Hi,
    thanks for your answer. could you please be more specific? We have found something in the JMS specification:
    JMS Spec 1.1 / Sun:
    6.11.1 Durable TopicSubscriber
    Only one session at a time can have a TopicSubscriber for a particular durable subscription. See
    Section 4.3.2, Client Identifier, for more information.
    So only one instance (JVM) can have the JMS-connection open to the Topic. How do we load balance these messages then into the Oracle Application Server?
    As a workaround, we we have currently deployed a "singleton EAR" which acts as a messaging bridge. It transfers messages from the topic into an "incoming queue" at AQ database. That queue is configured and visible on all OC4j instances. Is this the right way to load balance messages on a OC4J/OAS cluster?
    grüße,
    \thomas
    Edited by: thavemei on 09.11.2009 02:26

  • Many consumers on a queue, with different selctor, 2 in an HA configuration

    Hi all,
    I have a question about one queue and some (3) consumers. I have one queue and three consumers (clients) connected to the same queue. Let' s call the consumer: A, B, C. All of these with selectors, connecting a SunOne MQ 3.5 SP2, 4 brokers cluster. Let's define the nature of the A, B, C client consumers:
    Client A and B have the same selector and should work in a high availability configuration, so that if A fails, B will take its place, and viceversa: if A is running, B will not.
    On the same queue of A and B I have another consumer, we will call it "C", that has a selector that is different from A and B (we said A and B have the same selector). So only A and B have to be in failover-safe configuration. I have not configured any backup consumers, all are active. What will happen is this case in your opinion ? Will I be able to see working the A and B failover configuration and independently the C one simultaneosuly ? I mean A or B and C all of them running fine ?
    Thanks for your assistance.
    Stefano.

    A selector should not lock messages onto a queue. Is that what you are seeing? A selector should filter the messages from the destination, so that only a subset with the corresponding messages with the proper qualifiers would be visible to the consumer.
    in a network failover scenario for A or B, does C continue to receive ?C should not be impacted by A or B
    I mean if a consumer crashes on the network, and maybe it is not correctly unregistered from the brokers, am I sure that other consumer (with may be) a different selector (the C), continues to get its own messages ? The broker sends a ping to the clients to see who's still alive. So worst case scenario, is that if the consumer that crashed has still messages reserved in its buffer (according to the flow controls) when the broker detects the crash, it will free the messages to be consumed by other consumers.
    should I ensure a low flow limit to be sure that no lock situation can occur or just endure for a short time ?A flow limit that is too high would cause the messages to be consumer unevenly by the consumers, not lock the messages.
    Just a small detail here....
    The selector on a connection is set at the connection initialisation time. The selector's value is then transferred to the broker. The broker can then use the selectors to send messages to the consumers, according to their selectors that they have set. So in the flow limit "batch" a consumer will never have a message that he can't process because of its selector. So, if a flow limit is too high, the message processing will simply be slower, but making full usage of all the consumers connected to the brokers to load balance the message processing.
    HTH
    TE

  • OSB 10gR3 - Create load balanced endpoint URI with WLST

    Hi,
    I need to create load balanced endpoint URIs for a Business Service listening to a JMQ queue. The configuration can be done through the console as shown below:
    Protocol: JMS
    Load Balancing Algorithm: round-robin
    URI 1 - jms://localhost:7001/loggingXACF/loggingQueue
    URI 2 - jms://localhost:7002/loggingXACF/loggingQueue
    I would like to do the same using ALSB customization API in WLST. Any pointers on this would be helpful
    Regards
    Vikas

    Any one have any idea what a CLUSTER-BROADCAST message is? And where it would be coming from?Cluster broadcast message is one of the way by using which WebLogic Server instances in a cluster communicate with one another. Details are here -
    http://download.oracle.com/docs/cd/E14571_01/web.1111/e13709/features.htm#i1021836
    Having little idea about this, I may not comment on the exact reason behind 21.4 million CLUSTER-BROADCAST messages in 70 minutes, but you may get better and faster response in Weblogic clustering forum -
    WebLogic Server - Clustering
    If you have Oracle Support, then I will suggest you to track this throgh a SR.
    Regards,
    Anuj

  • Issue in setting Load balancing for Indesign Server CS5.5

    Hi All,
    I need to set up load balancing mechanism for Indesign Server CS5.5 on Windows Server 2008 R2(64 bit version).
    I have dutifully following all steps defined in "WORKING WITH LOAD BALANCING AND QUEUEING FOR ADOBE INDESIGN CS5 SERVER.pdf"
    After running Indesign server using batch file "startup-indesign-server-CORBA-4instances.bat" from "<ID_SDK>\samples\load-balancing-and-queuing-clients\indesignserver-startup-scripts", I get only one instance of Indesign Server running. How to run multiple instances of the INDD server ? Is running multiple instance has something to do with type of licensing ?
    Now I run Clover.cmd script, I get this screen. I have no idea why its not working. Please help. Please let me know, if the scenario is not clear and more information is required.
    Thnx,
    D

    This is the image after running clover.bat

  • CSS and Oracle Load Balancing

    Hi,
    I have CSS in single arm deployment model. I have multiple servers load balancing on this CSS on port 80 etc. Today I am trying to load balance one Oracle server but I am facing problem with it.
    Real servers are accessible on port 80 without any problem but when we are trying to access the same servers on VIP we are not able to see the web page.
    real server http://192.168.17.12/irs.htm
    real server http://192.168.17.14/irs.htm
    real server http://192.168.10.37/irs.htm
    VIP
    http://192.168.200.58/irs.htm
    Below is the configuration. I can do the telnet on port 80 and I can ping the VIP IP address.
    I will only put 192.168.200.58 in browser I can see the oracle page but with the full URL i am not able to see it.
    Though I have other oracle servers which I have load balance with the same configuration and I can access the web page.
    ==========================================================================================
    http://tptest.enoc.com/forms/frmservlet?config=tp  (This is working fine).
    ========================================================================
    http://irs.enoc.com/irs.htm  (This is not working).
    By name and by IP address both are not working.
    http://192.168.200.58/irs.htm  (This is not working).
    =============================================================================
    service IRC_1
      ip address 192.168.17.12
      keepalive type tcp
      keepalive port 80
      active
    service IRC_2
      ip address 192.168.17.14
      keepalive type tcp
      keepalive port 80
    service IRC_DR
      ip address 192.168.10.37
      keepalive type tcp
      keepalive port 80
    content ENOC_IRC
        add service IRC_1
        add service IRC_2
        add service IRC_DR
        vip address 192.168.200.58
        protocol tcp
        port 80
        advanced-balance sticky-srcip
        active
    owner ENOC_GIT
    content ENOC_IRC
        add service IRC_1
        add service IRC_2
        add service IRC_DR
        vip address 192.168.200.58
        protocol tcp
        port 80
        advanced-balance sticky-srcip
        active
    group ENOC_IRC
      add destination service IRC_1
      add destination service IRC_2
      add destination service IRC_DR
      vip address 192.168.200.58
      active
    ===================================================================================================
    ENOCDC-CSS01(config)# show service summary
    Service Name                     State     Conn  Weight  Avg   State
                                                             Load  Transitions
    IRC_1                            Alive         0      1     2            0
    IRC_2                            Suspended     0      1   255            1
    IRC_DR                           Suspended     0      1   255            1
    ENOCDC-CSS01(config)# show summary
    Global Bypass Counters:
       No Rule Bypass Count:     0
       Acl Bypass Count:         0
    Owner            Content Rules    State     Services         Service Hits
    ENOC_GIT        
                  ENOC_IRC         Active    IRC_1            103
                                                IRC_2            10
                                                IRC_DR           7
    =======================================================================================================
    Same setting I am doing for other servers and working fine only for these servers I am facing problem. Curently only one server is active in the configuration.
    Kindly let me know what I am missing and how to fix the problem.
    I have also attached the full configuration of CSS.

    Hi,
    My point of concern is that I did the same for Oracle server and this is working fine
    http://192.168.200.95/forms/frmservlet?config=tp
    only when I am doing the load balancing for
    http://irs.enoc.com/irs.htm  (This is not working).
    By name and by IP address both are not working.
    http://192.168.200.58/irs.htm  (This is not working).
    I dont have a option for TAC case is there a a way to fix the problem by apply other load balancing method. Is there something to do with the Circut VLAN. I didnt create the Circut VLAN 17 where this server is located.
    I am doing almost 8 differenceservers load balancing in this CSS.
    your expert opinion will definately help me.

  • How to load balance Agents across multiple Oracle Management Servers?

    Hi everyone
    We have the 2 OMS servers in our OEM environment. We would like to set up our management agents to load balance over these 2 servers...Or if not load balance then at least set up the agents so they can access either/or OMS.
    I've looked through the documentation and in google, but can't seem to find the answer.
    Can someone point me towards the documentation please
    Thanks
    R

    OMS is just an appserver with a repository. You can load balance the appservers with an F5. You can load balance the repository with RAC.
    So ... your options for load balancing and resilience are :-
    1. one agent on each server, multiple OMS appservers load balanced, one RAC database (with dataguard standby)
    2. two agents per server, two appservers, two repositories.
    Both architectures work. Option 1 offers the best load balancing and resilience.

  • Doubt on Hardware Load Balancing?

    Hi Community,
         I think there are two ways to perform the load balancing.One of them is proxy and other one is hardware load balancing.I have know something about the Proxy related Load balancing using Apache,oracle HTTP server and others.My question,I don't know about the single bit of Hardware load balancing,i refer the some sites but it is not benefits for  me.So please guide me to configure the hardware load balancing for my cluster..
    Regards,
    Ove..

    Hi,
    Find the document for configuring the hardware load balancer with Weblogic
    1.F5 load balancer
    https://www.f5.com/pdf/deployment-guides/bea-bigip45-dg.pdf
    2.Cicso
    http://www.cisco.com/c/en/us/td/docs/solutions/Enterprise/Data_Center/App_Networking/weblogicdg.html
    http://www.cisco.com/en/US/solutions/ns340/ns517/ns431/ns432/net_design_guidance09186a0080908169.pdf
    Additional Info
    http://pauldone.blogspot.in/2013/04/load-balancing-t3-initial-context.html
    Best Load Balancing Hardware | TechSource
    Oracle Weblogic Server Administration: Load Balancing in Weblogic Server
    http://www.broadband-testing.co.uk/download/ZeusBEAWebLogic.pdf
    http://www.ateam-oracle.com/using-weblogic-as-a-load-balancer/
    Hope it helps

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

  • 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 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
              >>>
              >>>
              >>
              >
              

  • OSB 10gR3 (WLS 10.3) - Distributed Queues & Load Balancing

    I have a question in relation to distributed queues and its JMS proxy service consumer in OSB
    I've set up a uniform distributed queue deployed using a sub-deployment resulting in the queue being targeted to the respective JMS servers in the cluster.
    I've then set up a messaging service using JMS as the transport with the following URI
    jms://server1:7011,server2:7012/weblogic.jms.XAConnectionFactory/myQueue
    When I look at the monitoring tab of my distributed queue, I can see 16 current consumers to one of the members but none for the other one. My understanding is that the proxy is just a mere MDB and as such I thought WLS was optimised to make sure all MDB instances would listen to all members of the distributed queue. Why do I have 16 consumers to one member only?
    Since only one member has consumers, any producer will always push messages to this member only. (I believe it is optimised to get a member with consumer(s) if any available)
    I've also tried to use a custom Connection Factory deployed the same way my distributed queue was, and ensure the connection factory had load balancing enabled. But no success with this either.
    jms://server1:7011,server2:7012/jms.MyConnectionFactory/myQueue
    I looked at the deployment - though not directly performed by me but rather the bus console - and it looks like the application is targeted to the cluster.
    How can I achieve true load balancing here, ensuring both members are consumed by my JMS proxy service?
    In that case, would any produced message go to either member then as both have consumers?
    Also, is the load balancing decision made by the producer when the Queue connection is created?
    If so, how do you achieve true load balancing? Do you need to ask for a new Q connection each time you want to send a message rather than caching the connection?
    Hope I am clear enough
    Thanks
    Arnaud

    This confused me too!
    The way I understand it, is that, as you say, a proxy service is like a single MDB. The MDB will bind to the queue it first finds when it connects.
    The URL that you specify which contains your two servers but the first address in the URL is the one that will be used for the connection. If the first server is unavailable, then the second one will be used.
    If you have a distributed queue, this doesn’t help much, as you do end up with one of the queue members with no consumers on it.
    You can configure a forward delay for the distributed queue, which will cause WLS to forward messages to a queue with consumers, but this isn’t a good idea if you have large JMS messages as WLS needs to serialize and de-serialize across the network to move the message.
    I think that what you have to do, is define two proxy services, one connecting to the first server, and the other connecting to the second.
    I haven’t found a better way so far, but it does seem a bit over the top, but then, if you wrote a an external java client which attached to a distributed queue you would specify the connection url and it would behave in the same way – if you wanted it to bind to both distributed destination members, you would have to code it or run two instances, so maybe its just working as it should – even though it seems strange.
    I think the producer will simply load balance across the distributed queue members, it doesn’t pay any attention whether there are to consumers attached – this happened to me the other day!!
    Pete

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

Maybe you are looking for

  • Importing Videos into LR3

    I seem to recall some notes that LR3 will now import video clips into a catalog. It also seems the comments stated you can't watch or edit the clips, but you can at least catalog them in LR. Tonight I tried importing one, but when I directed Lightroo

  • Ipod on windows 8

    Why is my iPod not synchronizing on windows 8?

  • CS4 Flash. First attempt to save a file creates an unknown error.

    I bought CS4 when I bought my first Mac.  I started building an inventory of production software but had only used Photoshop and Adobe.  I tried to do my first Flash project today and following a tutorial, I tried to save the initial file and it erro

  • If I get a skype number can you link it to multipl...

    I'm looking at getting a skype number, but I may not be available to answer it all the time, so wondering if you can link the number to multiple accounts (from other people in our business) so other people can answer it?

  • WLAN Abbrüche (iMac)

    iMac 21,5 Zoll, Late 2009 Seit einiger Zeit, ich schätze mal 4 Monate, habe ich täglich etliche kurze WLAN Abbrüche. Diese Abbrüche dauern nicht lange, keine Minute, selten länger, kommen am Tag aber häufig vor. Zuerst dachte ich an ein Problem beim