Class
Tree
          
SUMMARY: INNER | FIELD | CONSTR | METHODDETAIL: FIELD | CONSTR | METHOD
 

com.newstep.solid.management.runtime.directory
Class DefaultDirectoryClient
All Implemented Interfaces:
       ComponentDirectoryClient, NotificationListener

public class DefaultDirectoryClient      
Stateful/Intelligent Directory client.
It handles only one connection
javax.management.remote.JMXServiceURL at a time. ie. connect Is a
listener for its own connection events.
Author:
msimonsen
Implements:
ComponentDirectoryClient
NotificationListener
 
Links:
Kernel Association Association Link
to Class ConnectorThread
Associates type:
association
Client cardinality:
1
Client navigability:
NOT NAVIGABLE
Client visibility:
private
Supplier cardinality:
1
Supplier navigability:
NAVIGABLE
Supplier visibility:
private
 
Implementation Implementation Link
to Interface ComponentDirectoryClient
Stateful/Intelligent Directory client.
It handles only one connection
javax.management.remote.JMXServiceURL at a time. ie. connect Is a
listener for its own connection events.
Author:
msimonsen
 
 

Nested Class Summary
public class
State
class
class
Field Summary
State
private static String
private Condition
private JMXConnector
private final String
private final Logger
private String
private JMXServiceURL
private ObjectName
private ConcurrentLinkedQueue
private boolean
private long
private ReentrantLock
private static Logger
private long
private final String
private final Logger
private ConcurrentLinkedQueue
private MBeanServerConnection
private volatile State
State
cleanup
State
connected
State
idle
State
trying
Constructor Summary
public void
DefaultDirectoryClient(String connectorUrl)
public void
Method Summary
public void
connect(JMXServiceURL directoryUrl)
private void
private boolean
public void
run()
public void
public State
public void
handleNotification(Notification notification, Object handback)
public void
private void
public void
register(Component component)
public void
register(ComponentInfo componentInfo)
public void
run()
private void
public void
unRegister(ComponentInfo componentInfo)
public void
Field Detail
cName
private static String cName
Multiplicity:
1
Static.
 

connectMonitor
private Condition connectMonitor
Multiplicity:
1
 

connector
private JMXConnector connector
Multiplicity:
1
 

connectorUrl
private String connectorUrl
Multiplicity:
1
 

connectThread
private DefaultDirectoryClient.ConnectorThread connectThread
Multiplicity:
1
 

directoryJmxURL
private JMXServiceURL directoryJmxURL
Multiplicity:
1
 

directoryMBean
private ObjectName directoryMBean
Multiplicity:
1
 

history
private ConcurrentLinkedQueue history
Multiplicity:
1
 

initialized
private boolean initialized
Multiplicity:
1
 

keepAliveInterval
private long keepAliveInterval
Multiplicity:
1
 

lock
private ReentrantLock lock
Multiplicity:
1
 

logger
private static Logger logger
Multiplicity:
1
Static.
 

reattemptInterval
private long reattemptInterval
Multiplicity:
1
 

registerQueue
private ConcurrentLinkedQueue registerQueue
Multiplicity:
1
 

server
private MBeanServerConnection server
Multiplicity:
1
 

state
State state
 

state
private volatile State state
Multiplicity:
1
Volatile.
 
Constructor Detail
DefaultDirectoryClient
public void DefaultDirectoryClient (String connectorUrl)
 
Constructor that takes a url.
Parameters:
connectorUrl -
The directory URL.
Stereotype:
create
 

DefaultDirectoryClient
public void DefaultDirectoryClient (DirectoryClientConfig config)
 
Constructor that takes configuration.
Parameters:
config -
Directory client configuration.
Stereotype:
create
 
Method Detail
connect
public void connect (JMXServiceURL directoryUrl)
 
 
Parameters:
directoryUrl -
The directory URL.
 

connecting
private void connecting ()
 
 

connectionAlive
private boolean connectionAlive ()
 
 

disconnect
public void disconnect ()
 
Disconnect this client.
This also forces a clean-up.
Ie. you can no longer use this as a stateful
client.
Throws:
IOException
 

getState
public State getState ()
 
 

handleNotification
public void handleNotification (Notification notification, Object handback)
 
 

newConnection
public void newConnection ()
 
Throws:
IOException
 

realRegister
private void realRegister (ComponentInfo componentInfo)
 
Throws:
RegistrationException
 

register
public void register (Component component)
 
Throws:
RegistrationException
 

register
public void register (ComponentInfo componentInfo)
 
Throws:
RegistrationException
 

startRegisterQTask
private void startRegisterQTask ()
 
 

unRegister
public void unRegister (Component component)
 
Throws:
RegistrationException
 

unRegister
public void unRegister (ComponentInfo componentInfo)
 
Throws:
RegistrationException
 

Class
Tree
          
SUMMARY: INNER | FIELD | CONSTR | METHODDETAIL: FIELD | CONSTR | METHOD