org.objectweb.jonas.discovery
Class DiscoveryManager

java.lang.Object
  extended by org.objectweb.jonas.discovery.DiscoveryManager
All Implemented Interfaces:
java.util.EventListener, javax.management.MBeanRegistration, javax.management.NotificationListener, DiscoveryManagerMBean

public class DiscoveryManager
extends java.lang.Object
implements DiscoveryManagerMBean, javax.management.MBeanRegistration, javax.management.NotificationListener

DiscoveryManager goal is to listen to a well known and reconfigurable IpAddress and to give appropriate JMXURL to manage remotely Jonas server.

Version:
1.0
Author:
Takoua Abdellatif , Vivek Lakshmanan

Constructor Summary
DiscoveryManager(java.lang.String serverId, int listeningPort, java.lang.String listeningIp, int greetingListeningPort, int greetingAckTimeOut)
           
 
Method Summary
 java.lang.String getDomainName()
           
 int getGreetingAckTimeOut()
          gets the time out period within which the host will listen for acknowledgement messages after sending a greeting.
 int getGreetingListeningPort()
          gets the port on which the DiscoveryManager is listening for a discovery greeting response.
 java.lang.String getJonasName()
           
 java.lang.String getListeningIp()
           
 int getListeningPort()
          gets the port on which the DiscoveryManager is listening for a discovery request.
 java.lang.String getServerId()
           
 int getTimeToLive()
          gets the time to live of the multicast socket.
protected  java.lang.String[] getUrls()
           
 void handleNotification(javax.management.Notification notification, java.lang.Object handback)
           
 void postDeregister()
           
 void postRegister(java.lang.Boolean arg0)
           
 void preDeregister()
           
 javax.management.ObjectName preRegister(javax.management.MBeanServer mbeanServer, javax.management.ObjectName on)
           
protected  void setDomainName(java.lang.String domainNamle)
           
 void setGreetingAckTimeOut(int greetingAckTimeOut)
          (non-Javadoc)
 void setGreetingListeningPort(int greetingListeningPort)
          (non-Javadoc)
protected  void setJonasName(java.lang.String jonasName)
           
 void setListeningIp(java.lang.String listeningIp)
          sets the IP address the listening manager uses.
 void setListeningPort(int listeningPort)
          (non-Javadoc)
 void setServerId(java.lang.String serverId)
           
 void setTimeToLive(int ttl)
          sets the time to live value to ttl.
protected  void setUrls(java.lang.String[] urls)
           
 void start()
          starts the listening task on the listeningPort and listening Ip defined with the parameters.
 void stop()
          Stop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DiscoveryManager

public DiscoveryManager(java.lang.String serverId,
                        int listeningPort,
                        java.lang.String listeningIp,
                        int greetingListeningPort,
                        int greetingAckTimeOut)
Parameters:
serverId - TODO
listeningPort - Port to listen to for multicast messages.
listeningIp - IP where the multicast group will listen.
greetingListeningPort - Port to listen to greeting replies on. A message on this port signifies that a server already in the group has the same server name as used by this instance.
greetingAckTimeOut - The amount of time the server will listen to greetingListeningPort for replies.
Method Detail

start

public void start()
Description copied from interface: DiscoveryManagerMBean
starts the listening task on the listeningPort and listening Ip defined with the parameters.

Specified by:
start in interface DiscoveryManagerMBean

getGreetingAckTimeOut

public int getGreetingAckTimeOut()
Description copied from interface: DiscoveryManagerMBean
gets the time out period within which the host will listen for acknowledgement messages after sending a greeting.

Specified by:
getGreetingAckTimeOut in interface DiscoveryManagerMBean
Returns:
time out period within which the host will listen for acknowledgement messages after sending a greeting.
See Also:
org.objectweb.jonas.server.discovery.DiscoveryManagerMBean#getGreetingAckTimeOut()

setGreetingAckTimeOut

public void setGreetingAckTimeOut(int greetingAckTimeOut)
(non-Javadoc)

Specified by:
setGreetingAckTimeOut in interface DiscoveryManagerMBean
See Also:
org.objectweb.jonas.server.discovery.DiscoveryManagerMBean#setGreetingAckTimeOut()

getGreetingListeningPort

public int getGreetingListeningPort()
Description copied from interface: DiscoveryManagerMBean
gets the port on which the DiscoveryManager is listening for a discovery greeting response.

Specified by:
getGreetingListeningPort in interface DiscoveryManagerMBean
Returns:
port to listen to for greeting responses.
See Also:
org.objectweb.jonas.server.discovery.DiscoveryManagerMBean#getGreetingListeningPort()

setGreetingListeningPort

public void setGreetingListeningPort(int greetingListeningPort)
(non-Javadoc)

Specified by:
setGreetingListeningPort in interface DiscoveryManagerMBean
See Also:
org.objectweb.jonas.server.discovery.DiscoveryManagerMBean#setGreetingListeningPort()

getListeningPort

public int getListeningPort()
Description copied from interface: DiscoveryManagerMBean
gets the port on which the DiscoveryManager is listening for a discovery request.

Specified by:
getListeningPort in interface DiscoveryManagerMBean
Returns:
notification port.
See Also:
org.objectweb.jonas.server.discovery.DiscoveryManagerMBean#getListeningPort()

setListeningPort

public void setListeningPort(int listeningPort)
(non-Javadoc)

Specified by:
setListeningPort in interface DiscoveryManagerMBean
See Also:
org.objectweb.jonas.server.discovery.DiscoveryManagerMBean#setListeningPort()

getListeningIp

public java.lang.String getListeningIp()
Specified by:
getListeningIp in interface DiscoveryManagerMBean
Returns:
IP address the DiscoveryManager uses.
See Also:
org.objectweb.jonas.server.discovery.DiscoveryManagerMBean#getListeningIp()

setListeningIp

public void setListeningIp(java.lang.String listeningIp)
Description copied from interface: DiscoveryManagerMBean
sets the IP address the listening manager uses.

Specified by:
setListeningIp in interface DiscoveryManagerMBean
See Also:
org.objectweb.jonas.server.discovery.DiscoveryManagerMBean#setListeningIp()

setTimeToLive

public void setTimeToLive(int ttl)
Description copied from interface: DiscoveryManagerMBean
sets the time to live value to ttl. Defines the number of hops the multicast socket does.

Specified by:
setTimeToLive in interface DiscoveryManagerMBean
See Also:
org.objectweb.jonas.server.discovery.DiscoveryManagerMBean#setTimeToLive()

getTimeToLive

public int getTimeToLive()
Description copied from interface: DiscoveryManagerMBean
gets the time to live of the multicast socket.

Specified by:
getTimeToLive in interface DiscoveryManagerMBean
Returns:
ttl value.
See Also:
org.objectweb.jonas.server.discovery.DiscoveryManagerMBean#getTimeToLive()

preRegister

public javax.management.ObjectName preRegister(javax.management.MBeanServer mbeanServer,
                                               javax.management.ObjectName on)
                                        throws java.lang.Exception
Specified by:
preRegister in interface javax.management.MBeanRegistration
Throws:
java.lang.Exception
See Also:
MBeanRegistration.preRegister(javax.management.MBeanServer, javax.management.ObjectName)

postRegister

public void postRegister(java.lang.Boolean arg0)
Specified by:
postRegister in interface javax.management.MBeanRegistration
See Also:
MBeanRegistration.postRegister(java.lang.Boolean)

preDeregister

public void preDeregister()
                   throws java.lang.Exception
Specified by:
preDeregister in interface javax.management.MBeanRegistration
Throws:
java.lang.Exception
See Also:
MBeanRegistration.preDeregister()

postDeregister

public void postDeregister()
Specified by:
postDeregister in interface javax.management.MBeanRegistration
See Also:
MBeanRegistration.postDeregister()

handleNotification

public void handleNotification(javax.management.Notification notification,
                               java.lang.Object handback)
Specified by:
handleNotification in interface javax.management.NotificationListener
See Also:
NotificationListener.handleNotification(javax.management.Notification, java.lang.Object)

getJonasName

public java.lang.String getJonasName()
Returns:
jonasName The jonasName.

setJonasName

protected void setJonasName(java.lang.String jonasName)
Parameters:
jonasName - The jonasName to set.

getDomainName

public java.lang.String getDomainName()
Returns:
jonasName The domain name.

setDomainName

protected void setDomainName(java.lang.String domainNamle)
Parameters:
domainNamle - The domainName to set.

getUrls

protected java.lang.String[] getUrls()
Parameters:
urls - The urls.

setUrls

protected void setUrls(java.lang.String[] urls)
Parameters:
urls - The urls to set.

stop

public void stop()
Stop

Specified by:
stop in interface DiscoveryManagerMBean

getServerId

public java.lang.String getServerId()

setServerId

public void setServerId(java.lang.String serverId)