<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">

<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>

                                <td>

                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="http://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>

                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px;  -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
    Configuring ClusteredConnectionFactory on heterogeneous cluster
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="http://community.jboss.org/people/ryanhos">Ryan Hochstetler</a> in <i>JBoss Messaging</i> - <a href="http://community.jboss.org/message/594555#594555">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p>We have a 40+ node JBoss cluster with 4 distinct <em>server types</em> in the cluster (for simplicity, assume 4 types * 10 instances each).&#160; The server types all handle different jobs, but need to share some queues, so we have JMS clustered between them.&#160; Last week, we exhausted the JMS client pool (<strong>JBM_clientMaxPoolSize</strong>) on one of the servers, so wrote some logic in our provisioning software that builds the 40 nodes to calculate the exact number (plus a margin) needed by each server type, and substitute that value in remoting-bisocket-service.xml.&#160; </p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Server Type A:</p><pre class="jive-pre"><code class="jive-code jive-xml"><span class="jive-xml-tag">&lt;attribute name="JBM_clientMaxPoolSize" isParam="true"&gt;</span>235<span class="jive-xml-tag">&lt;/attribute&gt;</span></code></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Server Type B:</p><pre class="jive-pre"><code class="jive-code jive-xml"><span class="jive-xml-tag">&lt;attribute name="JBM_clientMaxPoolSize" isParam="true"&gt;</span>180<span class="jive-xml-tag">&lt;/attribute&gt;</span></code></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>..and so forth.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>The next time I booted, I got this error from ConnectionFactoryJNDIMapper:</p><p>"[ERROR] [org.jboss.messaging.util.ExceptionUtil] - org.jboss.jms.server.connectionfactory.ConnectionFactory@a605722 startService</p><p>java.lang.IllegalArgumentException: The remoting locator configuration for a particular clustered connection factory must be the same on each node in the cluster. We have detected that the configuration differs on this node. Please correct and redeploy the connection factory" </p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>This indicates to me that the invoker locator string for a clustered connection factory must be the same throughout the cluster (I imagine because this aids in providing failover to a matching locator elsewhere in the cluster.&#160; The JBM_clientMaxPoolSize is part of the invoker locator string because JBoss Messaging ships remoting-bisocket-service.xml with the <em>isParam </em>attribute set to true on that particular XML element.&#160; </p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>So, my question is this:&#160; How do I tune the JBM_clientMaxPoolSize for the non-clustered connection factory per server type, and at the same time allow the clustered connection factory to still function?&#160; Do I set isParam="false" on that attribute so that it doesn't end-up in the invoker locator string (why does the client need this information anyway)?&#160; Do I add annother identical, but differently-named org.jboss.remoting.transport.Connector MBean configuration, with the same value for JBM_clientMaxPoolSize across the entire cluster, and then modify the jboss.messaging.connectionfactory:service=ClusteredConnectionFactory MBean configuration in connection-factories-service.xml to point at the new homogenous Connector?&#160; I assume that the new connector would require it's own port and binding-service information; is this correct?</p></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Reply to this message by <a href="http://community.jboss.org/message/594555#594555">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in JBoss Messaging at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2042">Community</a></p>
</div></td>
                        </tr>
                    </tbody>
                </table>


                </td>
            </tr>
        </tbody>
    </table>

</div>

</body>
</html>