Enroller.java

00001 
00022 package org.objectweb.jonas.discovery;
00023 
00024 import javax.management.MBeanRegistration;
00025 import javax.management.MBeanServer;
00026 import javax.management.NotificationBroadcasterSupport;
00027 import javax.management.ObjectName;
00028 
00036 public class Enroller extends NotificationBroadcasterSupport
00037     implements MBeanRegistration, EnrollerMBean {
00038 
00042     private int listeningPort;
00046     private String listeningIp = null;
00050     private MBeanServer   mbeanServer;
00051     private ObjectName    myOn;
00055     private Thread        discoveryListener = null;
00060     private DiscoveryListener dl = null;
00061     private int ttl =1;
00062 
00063     public Enroller (int listeningPort, String listeningIp) {
00064       this.listeningIp = listeningIp;
00065       this.listeningPort = listeningPort;
00066     }
00067 
00072     public ObjectName preRegister(MBeanServer mbeanServer, ObjectName on)
00073     throws Exception {
00074         this.mbeanServer = mbeanServer;
00075         this.myOn = on;
00076         return myOn;
00077     }
00078 
00082     public void postRegister(Boolean arg0) {
00083         start();
00084     }
00085 
00090     public void preDeregister() throws Exception {
00091         // stop the listening thread
00092         dl.stopListener();
00093         discoveryListener.interrupt();
00094         discoveryListener= null;
00095     }
00096 
00101     public void postDeregister() {
00102 
00103     }
00104 
00109     public int getListeningPort() {
00110         return listeningPort;
00111     }
00112 
00117     public void setListeningPort(int listeningPort) {
00118         this.listeningPort = listeningPort;
00119 
00120     }
00121 
00126     public String getListeningIp() {
00127         return listeningIp;
00128     }
00129 
00134     public void setListeningIp(String listeningIp) {
00135         this.listeningIp = listeningIp;
00136 
00137     }
00138 
00143     public void setTimeToLive(int ttl) {
00144         this.ttl = ttl;
00145 
00146     }
00147 
00152     public int getTimeToLive() {
00153         return ttl;
00154     }
00155 
00160     public void start() {
00161         // creates an instance of the Discovery communication class
00162         dl = new DiscoveryListener(this);
00163 
00164         if (discoveryListener == null)
00165             discoveryListener = new Thread(dl, "discoveryListener");
00166         discoveryListener.start();
00167 
00168     }
00173    public void stop() {
00174        dl.stopListener();
00175    }
00176 }

Generated on Tue Feb 15 15:05:15 2005 for JOnAS by  doxygen 1.3.9.1