com.bigdata.service.jini
Class LoadBalancerServer

java.lang.Object
  extended by com.bigdata.service.jini.AbstractServer
      extended by com.bigdata.service.jini.LoadBalancerServer
All Implemented Interfaces:
Runnable, EventListener, net.jini.lease.LeaseListener, net.jini.lookup.ServiceIDListener

public class LoadBalancerServer
extends AbstractServer

The load balancer server.

The LoadBalancerServer starts the LoadBalancerService. The server and service are configured using a Configuration file whose name is passed to the LoadBalancerServer#LoadBalancerServer(String[]) constructor or main(String[]).

Version:
$Id$
Author:
Bryan Thompson
See Also:
for sample configurations.

Nested Class Summary
static class LoadBalancerServer.AdministrableLoadBalancer
          Adds jini administration interfaces to the basic LoadBalancerService.
static interface LoadBalancerServer.Options
          Options for this server.
 
Nested classes/interfaces inherited from class com.bigdata.service.jini.AbstractServer
AbstractServer.ConfigurationOptions, AbstractServer.MasterElectionTask
 
Field Summary
 
Fields inherited from class com.bigdata.service.jini.AbstractServer
config, impl, logicalServiceZPath, physicalServiceZPath, proxy
 
Constructor Summary
LoadBalancerServer(String[] args, com.sun.jini.start.LifeCycle lifeCycle)
           
 
Method Summary
static void main(String[] args)
          Starts a new LoadBalancerServer.
protected  LoadBalancerService newService(Properties properties)
          This method is responsible for creating the remote service implementation object.
 
Methods inherited from class com.bigdata.service.jini.AbstractServer
destroy, fatal, getClient, getFileFilter, getHostName, getJoinManager, getProxy, getServiceID, getServiceName, isPersistent, isShuttingDown, notify, notifyServiceUUID, readServiceId, run, runDestroy, serviceIDNotify, setSecurityManager, shutdownNow, terminate, toString, unexport
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

LoadBalancerServer

public LoadBalancerServer(String[] args,
                          com.sun.jini.start.LifeCycle lifeCycle)
Parameters:
args - Either the command line arguments or the arguments from the ServiceDescriptor. Either way they identify the jini Configuration (you may specify either a file or URL) and optional overrides for that Configuration.
lifeCycle - The life cycle object. This is used if the server is started by the jini ServiceStarter. Otherwise specify a FakeLifeCycle.
Method Detail

main

public static void main(String[] args)
Starts a new LoadBalancerServer. This can be done programmatically by executing
 new LoadBalancerServer(args, new FakeLifeCycle()).run();
 
within a Thread.

Parameters:
args - The name of the Configuration file for the service.

newService

protected LoadBalancerService newService(Properties properties)
Description copied from class: AbstractServer
This method is responsible for creating the remote service implementation object. This object MUST declare one or more interfaces that extent the Remote interface. The server will use JERI to create a proxy for the remote object and configure and manage the protocol for communications between the client (service proxy) and the remote object (the service implementation).

Note: You have to implement JoinAdmin in order to show up as an administerable service (blue folder) in the jini Service Browser.

Specified by:
newService in class AbstractServer
Parameters:
properties - The contents of the Properties file whose name was given by the propertyFile value in the Configuration identified to main by its command line arguments.


Copyright © 2006-2011 SYSTAP, LLC. All Rights Reserved.