<!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;">
    Supporting config file(s) host specific settings
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="http://community.jboss.org/people/davesiracusa">Dave Siracusa</a> in <i>JBoss ESB Development</i> - <a href="http://community.jboss.org/message/552522#552522">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p>I added support for substitution properties in jboss-esb.xml.&#160; At construction time I merge properties from a soa-p.properties file to support host specific changes(sample below).&#160; I either look for this file in a directory or load the file from from an embedded .ESB resource in directory name that matches the hostname I'm running on.&#160; In order to do this I created a wrapper class which constructs out-of-box actons via reflection. </p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Perosnally I'd like to refactor and extend this for all config files (jboss-esb.xml, deployment.xml, jbm-queue-service.xml, etc).&#160; I think this feature would be helpful to other developers as many of us have development, user testing, staging and production environments where host names, thread settings, JCA retry periods vary from environment to environment.&#160; I know I can do this at build time, however it's nicer to have only one .ESB file for all servers.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><em>Can I override the existing loader/provider, or perhaps you can point me to a central point in the SOA-P source where I can make my changes?</em></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p> &lt;service category="Business Profile Services"<br/>&#160;&#160;&#160; name="AddressHub SOAP Proxy"<br/>&#160;&#160;&#160; description="AddressHub SOAP WebService Proxy"<br/>&#160;&#160;&#160; invmScope="GLOBAL"&gt;<br/>&#160;&#160;&#160;&#160;&#160; &lt;property name="maxThreads" value<strong>="@maxthreads-addresshub@"</strong>/&gt;</p><p>&#160;&#160; &lt;listeners&gt;<br/>&#160;&#160;&#160; &lt;http-gateway name="Index-ahsoap" urlPattern="addresshub/soap/*" /&gt;<br/>&#160;&#160; &lt;/listeners&gt;</p><p>&#160;&#160; &lt;actions mep="RequestResponse"&gt;<br/>&#160;&#160;&#160;&#160;&#160;&#160; &lt;action name="proxy"<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160; class="com.siracusa.soa.esb.bus.bpesb.actions.WrapSoapProxyAction"&gt;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;property name="guest-class" value="org.jboss.soa.esb.actions.soap.proxy.SOAPProxy" /&gt;<br/>&#160;&#160;&#160;&#160;&#160;&#160; &lt;property name="guest-configuration-rethrow" value="false" /&gt;<br/>&#160;&#160;&#160;&#160;&#160; &lt;property name="guest-wsdl" value="<a class="jive-link-external-small" href="http://@addresshub-host@/addresshubWebServices/soap?wsdl">http://<strong>@addresshub-host@/</strong>addresshubWebServices/soap?wsdl</a>" /&gt;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;property name="guest-cacheDoc" value="<a class="jive-link-anchor-small">file://<strong>@wsdl-cache-directory@/</strong>addresshub.html"/</a>&gt;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;property name="guest-docXSL" value="/transforms/wsdl-viewer.xsl"/&gt;</p><p>&#160;&#160;&#160;&#160;&#160;&#160; &lt;property name="exceptionMethod" value="exceptionHandler" /&gt;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;property name="wsdl" value="<a class="jive-link-anchor-small">file://<strong>@wsdl-cache-directory@/</strong>addresshub.wsdl</a>"&gt;<br/>&#160;&#160;&#160;&#160;&#160;&#160; &lt;http-client-property name="max-total-connections" value="100" /&gt;<br/>&#160;&#160;&#160;&#160;&#160;&#160; &lt;http-client-property name="max-connections-per-host" value="50" /&gt;<br/>&#160;&#160;&#160;&#160;&#160; &lt;/property&gt;<br/>&#160;&#160;&#160; &lt;/action&gt;<br/>&#160;&#160; &lt;/actions&gt;<br/>&#160; &lt;/service&gt;</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/552522#552522">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in JBoss ESB Development at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2032">Community</a></p>
</div></td>
                        </tr>
                    </tbody>
                </table>


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

</div>

</body>
</html>