org.talend.esb.locator
Class ServiceLocator

java.lang.Object
  extended by org.talend.esb.locator.ServiceLocator

Deprecated. use ServiceLocator instead.

@Deprecated
public class ServiceLocator
extends Object

This is the entry point for clients of the Service Locator. To access the Service Locator clients have to first connect to the Service Locator to get a session assigned. Once the connection is established the client will periodically send heart beats to the server to keep the session alive.

The Service Locator provides the following operations.


Nested Class Summary
 class ServiceLocator.WatcherImpl
          Deprecated.  
 
Field Summary
static org.talend.esb.locator.ServiceLocator.PostConnectAction DO_NOTHING_ACTION
          Deprecated.  
static byte[] EMPTY_CONTENT
          Deprecated.  
static NodePath LOCATOR_ROOT_PATH
          Deprecated.  
static int MAX_TIMEOUT
          Deprecated.  
 
Constructor Summary
ServiceLocator()
          Deprecated.  
 
Method Summary
 void connect()
          Deprecated. Establish a connection to the Service Locator.
protected  org.apache.zookeeper.ZooKeeper createZooKeeper(CountDownLatch connectionLatch)
          Deprecated.  
 void disconnect()
          Deprecated. Disconnects from a Service Locator server.
 List<QName> getServices()
          Deprecated. Return all services for which endpoints are registered at the Service Locator Service.
 List<String> lookup(QName serviceName)
          Deprecated. For the given service return all endpoints that currently registered at the Service Locator Service.
 void register(QName serviceName, String endpoint)
          Deprecated. For a given service register the endpoint of a concrete provider of this service.
 void setConnectionTimeout(int timeout)
          Deprecated. Specify the time this client waits for a connection to get established.
 void setLocatorEndpoints(String endpoints)
          Deprecated. Specify the endpoints of all the instances belonging to the service locator ensemble this object might potentially be talking to when connecting.
 void setPostConnectAction(org.talend.esb.locator.ServiceLocator.PostConnectAction postConnectAction)
          Deprecated.  
 void setSessionTimeout(int timeout)
          Deprecated. Specify the time out of the session established at the server.
 void unregister(QName serviceName, String endpoint)
          Deprecated. For a given service unregister a previously registered endpoint.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOCATOR_ROOT_PATH

public static final NodePath LOCATOR_ROOT_PATH
Deprecated. 

EMPTY_CONTENT

public static final byte[] EMPTY_CONTENT
Deprecated. 

MAX_TIMEOUT

public static final int MAX_TIMEOUT
Deprecated. 
See Also:
Constant Field Values

DO_NOTHING_ACTION

public static final org.talend.esb.locator.ServiceLocator.PostConnectAction DO_NOTHING_ACTION
Deprecated. 
Constructor Detail

ServiceLocator

public ServiceLocator()
Deprecated. 
Method Detail

connect

public void connect()
             throws InterruptedException,
                    ServiceLocatorException
Deprecated. 
Establish a connection to the Service Locator. After successful connection the specified PostConnectAction is run. If the session to the server expires because the server could not be reached within the specified time, a reconnect is automatically executed as soon as the server can be reached again. Because after a session time out all registered endpoints are removed it is important to specify a PostConnectAction that re-registers all endpoints.

Throws:
InterruptedException - the current Thread was interrupted when waiting for a successful connection to the ServiceLocator
ServiceLocatorException - the connect operation failed

disconnect

public void disconnect()
                throws InterruptedException,
                       ServiceLocatorException
Deprecated. 
Disconnects from a Service Locator server. All endpoints that were registered before are removed from the server. To be able to communicate with a Service Locator server again the client has to connect again.

Throws:
InterruptedException - the current Thread was interrupted when waiting for the disconnect to happen
ServiceLocatorException

register

public void register(QName serviceName,
                     String endpoint)
              throws ServiceLocatorException,
                     InterruptedException
Deprecated. 
For a given service register the endpoint of a concrete provider of this service. If the client is destroyed, disconnected, or fails to successfully send the heartbeat for a period of time defined by the session timeout parameter the endpoint is removed from the Service Locator. To ensure that all available endpoints are re-registered when the client reconnects after a session expired a PostConnectAction should be set that registers all endpoints.

Parameters:
serviceName - the name of the service the endpoint is registered for, must not be null
endpoint - the endpoint to register, must not be null
Throws:
ServiceLocatorException - the server returned an error
InterruptedException - the current Thread was interrupted when waiting for a response of the ServiceLocator

unregister

public void unregister(QName serviceName,
                       String endpoint)
                throws ServiceLocatorException,
                       InterruptedException
Deprecated. 
For a given service unregister a previously registered endpoint.

Parameters:
serviceName - the name of the service the endpoint is unregistered for, must not be null
endpoint - the endpoint to unregister, must not be null
serviceName -
endpoint -
Throws:
ServiceLocatorException - the server returned an error
InterruptedException - the current Thread was interrupted when waiting for a response of the ServiceLocator

getServices

public List<QName> getServices()
                        throws InterruptedException,
                               ServiceLocatorException
Deprecated. 
Return all services for which endpoints are registered at the Service Locator Service.

Returns:
a possibly empty list of services
Throws:
ServiceLocatorException - the server returned an error
InterruptedException - the current Thread was interrupted when waiting for a response of the ServiceLocator

lookup

public List<String> lookup(QName serviceName)
                    throws ServiceLocatorException,
                           InterruptedException
Deprecated. 
For the given service return all endpoints that currently registered at the Service Locator Service.

Parameters:
serviceName - the name of the service for which to get the endpoints, must not be null
Returns:
a possibly empty list of endpoints
Throws:
ServiceLocatorException - the server returned an error
InterruptedException - the current Thread was interrupted when waiting for a response of the ServiceLocator

setLocatorEndpoints

public void setLocatorEndpoints(String endpoints)
Deprecated. 
Specify the endpoints of all the instances belonging to the service locator ensemble this object might potentially be talking to when connecting. The object will one by one pick an endpoint (the order is non-deterministic) to connect to the service locator until a connection is established.

Parameters:
endpoints - comma separated list of endpoints,each corresponding to a service locator instance. Each endpoint is specified as a host:port pair. At least one endpoint must be specified. Valid exmaples are: "127.0.0.1:2181" or "sl1.example.com:3210, sl2.example.com:3210, sl3.example.com:3210"

setSessionTimeout

public void setSessionTimeout(int timeout)
Deprecated. 
Specify the time out of the session established at the server. The session is kept alive by requests sent by this client object. If the session is idle for a period of time that would timeout the session, the client will send a PING request to keep the session alive.

Parameters:
sessionTimeout - timeout in milliseconds, must be greater than zero and less than 60000.

setConnectionTimeout

public void setConnectionTimeout(int timeout)
Deprecated. 
Specify the time this client waits for a connection to get established.

Parameters:
connectionTimeout - timeout in milliseconds, must be greater than zero

setPostConnectAction

public void setPostConnectAction(org.talend.esb.locator.ServiceLocator.PostConnectAction postConnectAction)
Deprecated. 

createZooKeeper

protected org.apache.zookeeper.ZooKeeper createZooKeeper(CountDownLatch connectionLatch)
                                                  throws ServiceLocatorException
Deprecated. 
Throws:
ServiceLocatorException


Copyright © 2011 Talend Inc.. All Rights Reserved.