User: patriot1burke
  Date: 01/09/19 16:57:43

  Modified:    src/main/org/jboss/ha HARMITarget.java HAPartitionImpl.java
                        DistributedReplicantManagerImpl.java
                        ClusterPartition.java
  Log:
  HAJNDI sort of works now.  Framework definately works now.
  
  Revision  Changes    Path
  1.2       +6 -0      jbossmx/src/main/org/jboss/ha/HARMITarget.java
  
  Index: HARMITarget.java
  ===================================================================
  RCS file: /cvsroot/jboss/jbossmx/src/main/org/jboss/ha/HARMITarget.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- HARMITarget.java  2001/09/14 03:53:29     1.1
  +++ HARMITarget.java  2001/09/19 23:57:43     1.2
  @@ -22,7 +22,7 @@
    *
    *   @author <a href="mailto:[EMAIL PROTECTED]";>Sacha Labourey</a>
    *   @author <a href="mailto:[EMAIL PROTECTED]";>Bill Burke</a>
  - *   @version $Revision: 1.1 $
  + *   @version $Revision: 1.2 $
    *
    *   <p><b>Revisions:</b>
    *
  @@ -90,6 +90,7 @@
   
      public Object getRemoteTarget()
      {
  +      System.out.println("number of targets: " + targets.length);
         if (targets.length == 0)
         {
            findTargetsSynchronously ();
  @@ -222,6 +223,11 @@
                   || targetException instanceof UnknownHostException)
               {
                  // ignore
  +               System.out.println("Connection failure");
  +            }
  +            else if (targetException instanceof RemoteException)
  +            {
  +               System.out.println("RemoteException called: " + 
targetException.getClass().getName());
               }
               else
               {
  
  
  
  1.6       +35 -11    jbossmx/src/main/org/jboss/ha/HAPartitionImpl.java
  
  Index: HAPartitionImpl.java
  ===================================================================
  RCS file: /cvsroot/jboss/jbossmx/src/main/org/jboss/ha/HAPartitionImpl.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- HAPartitionImpl.java      2001/09/18 21:56:49     1.5
  +++ HAPartitionImpl.java      2001/09/19 23:57:43     1.6
  @@ -18,6 +18,7 @@
   import JavaGroups.MethodCall;
   import JavaGroups.RpcDispatcher;
   import JavaGroups.RspList;
  +import JavaGroups.Rsp;
   import JavaGroups.GroupRequest;
   import JavaGroups.View;
   import JavaGroups.Address;
  @@ -46,7 +47,7 @@
      protected ArrayList listeners = new ArrayList();
      protected String partitionName;
      protected Vector members = null;
  -   protected int timeout = 500;
  +   protected int timeout = 0;
      protected JChannel channel = null;
      protected DistributedReplicantManagerImpl replicantManager;
      protected String nodeName;
  @@ -64,16 +65,10 @@
   
      public void init() throws Exception
      {
  -      log.info("Get current members");
  -      View view = channel.GetView();
  -      this.members = view.GetMembers();
  -      log.info("Num cluster members: " + members.size());
         log.info("SetMembershipListener");
         SetMembershipListener(this);
         log.info("SetMessageListener");
         SetMessageListener(this);
  -      log.info("get nodeName");
  -      this.nodeName = channel.GetLocalAddress().toString();
         log.info("create replicant manager");
         this.replicantManager = new DistributedReplicantManagerImpl(this);
         log.info("init replicant manager");
  @@ -107,6 +102,21 @@
         log.info("done initing..");
      }
   
  +   public void start() throws Exception
  +   {
  +      log.info("get nodeName");
  +      this.nodeName = channel.GetLocalAddress().toString();
  +      log.info("Get current members");
  +      View view = channel.GetView();
  +      this.members = view.GetMembers();
  +      log.info("Num cluster members: " + members.size());
  +      // We must now syncrhonize new state transfer subscriber 
  +      boolean rc = channel.GetState(null, 8000);
  +      if (rc) log.info("State was retrieved successfully");
  +      else log.info("State could not be retrieved, (must be first member of 
group)");
  +      replicantManager.start();
  +   }
  +
      public void close() throws Exception
      {
         channel.Close();
  @@ -157,7 +167,14 @@
         if (rsp != null)
         {
            for (int i = 0; i < rsp.size(); i++)
  -            rtn.add(rsp.elementAt(i));
  +         {
  +            Object item = rsp.elementAt(i);
  +            if (item instanceof Rsp)
  +            {
  +               item = ((Rsp)item).GetValue();
  +            }
  +            rtn.add(item);
  +         }
         }
         
         if (!excludeSelf)
  @@ -182,9 +199,9 @@
      {
         stateHandlers.put(objectName, subscriber);
         // We must now syncrhonize new state transfer subscriber 
  -      boolean rc = channel.GetState(null, 8000);
  -      if (rc) log.info("State was retrieved successfully");
  -      else log.info("State could not be retrieved, (must be first member of 
group)");
  +      //      boolean rc = channel.GetState(null, 8000);
  +      //if (rc) log.info("State was retrieved successfully");
  +      //else log.info("State could not be retrieved, (must be first member of 
group)");
      }
   
      public void unsubscribeFromStateTransferEvents(String objectName, 
HAPartition.HAPartitionStateTransfer subscriber)
  @@ -291,6 +308,12 @@
      {
         try
         {
  +         if (this.members == null)
  +         {
  +            // Initial viewAccepted
  +            this.members = newView.GetMembers();
  +            return;
  +         }
            Vector oldMembers = this.members;
            Vector allMembers = newView.GetMembers();
            Vector deadMembers = getDeadMembers(oldMembers, allMembers);
  @@ -371,6 +394,7 @@
   
         method_call=(MethodCall)body;
         String methodName = method_call.GetName();
  +      log.info("Handle: " + methodName);
         int idx = methodName.indexOf('.');
         String handlerName = methodName.substring(0, idx);
         String newMethodName = methodName.substring(idx + 1);
  
  
  
  1.5       +14 -1     
jbossmx/src/main/org/jboss/ha/DistributedReplicantManagerImpl.java
  
  Index: DistributedReplicantManagerImpl.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jbossmx/src/main/org/jboss/ha/DistributedReplicantManagerImpl.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- DistributedReplicantManagerImpl.java      2001/09/18 04:15:10     1.4
  +++ DistributedReplicantManagerImpl.java      2001/09/19 23:57:43     1.5
  @@ -41,6 +41,10 @@
         partition.registerMembershipListener(this);
         log.info("subscribeToStateTransferEvents");
         partition.subscribeToStateTransferEvents(SERVICE_NAME, this);
  +   }
  +
  +   public void start() throws Exception
  +   {
         log.info("Export myself as an RMI server");
         RemoteStub stub = UnicastRemoteObject.exportObject(this);
         log.info("Register myself as a replicant of DistributedReplicantManager");
  @@ -111,6 +115,7 @@
   
      public void _add(String key, String nodeName, Serializable replicant)
      {
  +      log.info("_add(" + key + ", " + nodeName);
         try
         {
            synchronized(this.replicants)
  @@ -118,10 +123,12 @@
               HashMap rep = (HashMap)replicants.get(key);
               if (rep == null)
               {
  +               log.info("_adding new HashMap");
                  rep = new HashMap();
                  replicants.put (key, rep);
               }
               rep.put(nodeName, replicant);
  +            log.info("notifyingKeyListeners");
               notifyKeyListeners(key, new ArrayList(rep.values()));
            }
         }
  @@ -227,11 +234,17 @@
   
      protected void notifyKeyListeners(String key, ArrayList newReplicants)
      {
  +      log.info("notifyKeyListeners");
         synchronized(this.keyListeners)
         {
            ArrayList listeners = (ArrayList)keyListeners.get(key);
  -         if (listeners == null) return;
  +         if (listeners == null) 
  +         {
  +            log.info("listeners is null");
  +            return;
  +         }
   
  +         log.info("notifying " + listeners.size() + " for key change: " + key);
            for (int i = 0; i < listeners.size(); i++)
            {
               DistributedReplicantManager.ReplicantListener listener = 
(DistributedReplicantManager.ReplicantListener)listeners.get(i);
  
  
  
  1.4       +14 -8     jbossmx/src/main/org/jboss/ha/ClusterPartition.java
  
  Index: ClusterPartition.java
  ===================================================================
  RCS file: /cvsroot/jboss/jbossmx/src/main/org/jboss/ha/ClusterPartition.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ClusterPartition.java     2001/09/16 15:29:07     1.3
  +++ ClusterPartition.java     2001/09/19 23:57:43     1.4
  @@ -24,10 +24,11 @@
         "UNICAST(timeout=5000;min_wait_time=2000):" +
         "FRAG:" +
         "pbcast.GMS:" +
  -      "pbcast.STATE_TRANSFER(trace=true)";
  +      "pbcast.STATE_TRANSFER(trace=true):" +
  +      "QUEUE";
      protected HAPartitionImpl partition;
      protected boolean deadlock_detection = false;
  -
  +   protected JChannel channel;
      
      public String getName()
      {
  @@ -70,21 +71,26 @@
         return new ObjectName(OBJECT_NAME);
      }
      
  -   public void startService()
  -      throws Exception
  +   public void initService() throws Exception
      {
  -      log.info("Starting ClusterPartition: " + partitionName);
  -      JChannel channel = new JChannel(jgProps);
  +      this.channel = new JChannel(jgProps);
         channel.SetOpt(Channel.LOCAL, new Boolean(false));
         channel.SetOpt(Channel.GET_STATE_EVENTS, new Boolean(true));       
         channel.SetOpt(Channel.AUTO_RECONNECT, new Boolean(true));
         channel.SetOpt(Channel.AUTO_GETSTATE, new Boolean(true));
         log.info("Creating Partition");
         partition = new HAPartitionImpl(partitionName, channel, deadlock_detection);
  -      log.info("Connecting to channel");
  -      channel.Connect(partitionName);
         log.info("Initing Partition");
         partition.init();
  +   }
  +
  +   public void startService()
  +      throws Exception
  +   {
  +      log.info("Starting ClusterPartition: " + partitionName);
  +      log.info("Connecting to channel");
  +      channel.Connect(partitionName);
  +      partition.start();
         log.info("Started ClusterPartition: " + partitionName);
      }
      public void stopService()
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to