com.bigdata.service.jini
Class DataServer

java.lang.Object
  extended by com.bigdata.service.jini.AbstractServer
      extended by com.bigdata.service.jini.DataServer
All Implemented Interfaces:
Runnable, EventListener, net.jini.lease.LeaseListener, net.jini.lookup.ServiceIDListener
Direct Known Subclasses:
MetadataServer

public class DataServer
extends AbstractServer

The bigdata data server.

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

Version:
$Id$
Author:
Bryan Thompson
See Also:
for sample configurations.
TODO:
identify the minimum set of permissions required to run a DataServer.

Nested Class Summary
static class DataServer.AdministrableDataService
          Adds jini administration interfaces to the basic DataService.
static interface DataServer.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, log, logicalServiceZPath, physicalServiceZPath, proxy
 
Constructor Summary
DataServer(String[] args, com.sun.jini.start.LifeCycle lifeCycle)
          Creates a new DataServer.
 
Method Summary
static void main(String[] args)
          Starts a new DataServer.
protected  DataService 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

DataServer

public DataServer(String[] args,
                  com.sun.jini.start.LifeCycle lifeCycle)
Creates a new DataServer.

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 DataServer. This can be done programmatically by executing
    new DataServer(args, new FakeLifeCycle()).run();
 
within a Thread.

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

newService

protected DataService 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-2009 SYSTAP, LLC. All Rights Reserved.