#------------------------------------------------------------------------------
# Configures an xmlBlaster node with the name "heron"
# This is a gateway for all other cluster nodes to communicate over
#
# INVOKE: java org.xmlBlaster.Main -propertyFile heron.properties
#------------------------------------------------------------------------------

# SOCKET driver listens on port 7700
protocol=SOCKET
plugin/socket/port=7700
#plugin/socket/hostname 192.168.1.160


# Configuer cluster - the heron node:
cluster=true

cluster.node.id=heron


##dispatch/connection/pingInterval=0
#dispatch/callback/pingInterval=0

cluster.node[heron]=\
   <clusternode id='heron'>\
      <master type='DomainToMaster' stratum='0' dirtyRead='false'>\
         <key queryType='DOMAIN' domain='heronDomain'/>\
         <key queryType='DOMAIN' domain='heron'/>\
         <key queryType='DOMAIN' domain=''/>\
      </master>\
      <master type='DomainToMaster' stratum='1' dirtyRead='false'>\
         <key queryType='DOMAIN' domain='heronBaby'/>\
      </master>\
   </clusternode>

# The login credential for remote avalon, only needed on initial startup when no avalon session exists
cluster/securityService/avalon=<securityService type='htpasswd' version='1.0'><user>avalon</user><passwd>secret</passwd></securityService>

# Configure cluster - how to find avalon:
# Note: We leave the hostname away so that your local computer is chosen
#       e.g. "socket://192.168.1.1:7501" would be fully qualified
# Note: There are two parts: 1. ConnectQos 2. Cluster configuration
cluster.node.master[avalon]=\
   <clusternode id='avalon'>\
      <connect><qos>\
         <securityService type='htpasswd' version='1.0'>\
           <user>heron</user>\
           <passwd>secret</passwd>\
         </securityService>\
         <persistent/>\
         <address type='SOCKET'>\
            <attribute name='useRemoteLoginAsTunnel'>true</attribute>\
         </address>\
         <queue relating='callback'>\
            <callback type='SOCKET' sessionId='agRh8Fzj0'>\
               <attribute name='useRemoteLoginAsTunnel'>true</attribute>\
            </callback>\
         </queue>\
      </qos></connect>\
      <master type='DomainToMaster' stratum='1' dirtyRead='false'>\
         <key queryType='DOMAIN' domain='avalonDomain'/>\
      </master>\
   </clusternode>

cluster/securityService/frodo=<securityService type='htpasswd' version='1.0'><user>frodo</user><passwd>secret</passwd></securityService>
cluster.node.master[frodo]=\
   <clusternode id='frodo'>\
      <connect><qos>\
         <securityService type='htpasswd' version='1.0'>\
           <user>heron</user>\
           <passwd>secret</passwd>\
         </securityService>\
         <persistent/>\
         <address type='socket_z'>\
            <attribute name='useRemoteLoginAsTunnel'>true</attribute>\
         </address>\
         <queue relating='callback'>\
            <callback type='socket_z' sessionId='53R8F0'>\
               <attribute name='useRemoteLoginAsTunnel'>true</attribute>\
            </callback>\
         </queue>\
      </qos></connect>\
      <master type='DomainToMaster' stratum='1' dirtyRead='false'>\
         <key queryType='DOMAIN' domain='frodoDomain'/>\
      </master>\
   </clusternode>


# Switch off other protocols
jacorb.log.default.verbosity=0
plugin/ior/useNameService=false
bootstrapPort=0
ProtocolPlugin[IOR][1.0]=
ProtocolPlugin[RMI][1.0]=
ProtocolPlugin[XMLRPC][1.0]=
ProtocolPlugin[JDBC][1.0]=

# Less logging noise
logging/org.xmlBlaster.util.queue.jdbc=WARNING
maxNumStatements=50

# Switch off telnet access, we don't need it
admin.remoteconsole.port=-1

