0 Replies Latest reply on May 20, 2004 3:07 PM by sinclair bain

    JBoss 3.2.4RC2 - DRM

    sinclair bain Newbie

      Hi,
      I have just started using jboss 3.2.4RC2.

      I have set-up a 2 node cluster which is 'out-of-the-box' using UDP. The two nodes are on separate host machines. I am making use of the 'farm service' to deploy a simple service to the cluster. The service is implemented as an mbean and is specified as follows in the <jboss-service.xml> file:

      <?xml version='1.0' encoding='UTF-8'?>
      <!DOCTYPE server PUBLIC
       "-//JBoss//DTD MBean Service 3.2//EN"
       "http://www.jboss.org/j2ee/dtd/jboss-service_3_2.dtd"
      >
      <!--
       The SAR META-INF/jboss-service.xml descriptor
      
       Based upon the following:
       http://cvs.sourceforge.net/viewcvs.py/jboss/jbosstest/src/resources/jmx/ha/META-INF/jboss-service.xml?rev=1.2&view=auto
      -->
      
      <server>
      
       <!-- Create JRMPHA proxy factory instance for our service
       -->
       <mbean code="org.jboss.proxy.generic.ProxyFactoryHA"
       name="com.panacya.prototype:service=ProxyFactory,name=HACounterService,protocol=jrmpha">
      
       <!-- Use the default partition
       -->
       <depends optional-attribute-name="PartitionObjectName">
       jboss:service=DefaultPartition
       </depends>
      
       <!-- Use the standard JRMPInvoker from conf/jboss-service.xml
       -->
       <depends optional-attribute-name="InvokerName">
       jboss:service=invoker,type=jrmpha
       </depends>
      
       <!-- The load balancing policy
       -->
       <attribute name="LoadBalancePolicy">
       org.jboss.ha.framework.interfaces.RoundRobin
       </attribute>
      
       <!-- The target: This is a wrapper
       -->
       <depends optional-attribute-name="TargetName">
       com.panacya.prototype:service=CounterService
       </depends>
      
       <!-- Where to bind the proxy
       -->
       <attribute name="JndiName">
       panacya/CounterService
       </attribute>
      
       <!-- The interface exposed to the client
       -->
       <attribute name="ExportedInterface">
       com.panacya.prototype.ha.service.CounterServiceOperations
       </attribute>
      
       <!-- Client side behaviour
       -->
       <attribute name="ClientInterceptors">
       <interceptors>
       <interceptor>
       org.jboss.proxy.ClientMethodInterceptor
       </interceptor>
       <interceptor>
       org.jboss.invocation.InvokerInterceptor
       </interceptor>
       </interceptors>
       </attribute>
      
       </mbean>
      
       <!-- HA counter service
       -->
       <mbean code="com.panacya.prototype.ha.service.CounterService"
       name="com.panacya.prototype:service=CounterService">
       <depends>
       jboss:service=ScheduleManager
       </depends>
       <!-- The interface exposed to the client
       -->
       <attribute name="ExportedInterface">
       com.panacya.prototype.ha.service.CounterServiceOperations
       </attribute>
      
       <attribute name="PartitionName">
       DefaultPartition
       </attribute>
       </mbean>
      
      </server>
      


      When the sar file is deployed to node 'A' into the /farm directory the sar is detected and loaded locally and as documented it is farmed out to the other node in the cluster - node 'B'.

      The deployment completes I inspect the DRM mbeans on nodes 'A' and 'B' via the jmx-console using #listContents.

      On node 'A' only the locally available instance of (my) service is listed. On node 'B' the local instance and the remote (i.e. node 'A') are listed.

      I would have expected the lists to have looked the same. Additionally the other entries in the list look good to me in that they are listed as present on both nodes i.e. the HASingletonDeployer, HAJNDI and the 'DCacheBridge'.

      Is this the expected behavior ?

      Hope someone can put me on the right track.
      Thanks!