JXTA

net.jxta.impl.endpoint.servlethttp
Class ServletHttpTransport

java.lang.Object
  extended by net.jxta.impl.endpoint.servlethttp.ServletHttpTransport
All Implemented Interfaces:
Module

public final class ServletHttpTransport
extends Object
implements Module

A JXTA Message Transport

This class is really a facade for the following:


Field Summary
(package private)  ID assignedID
           
(package private)  Executor executor
          The executor used by HttpClientMessenger
(package private)  PeerGroup group
          PeerGroup we are working for
(package private)  String HTTP_PROTOCOL_NAME
           
(package private)  ModuleImplAdvertisement implAdvertisement
           
(package private)  InetAddress usingInterface
          The InetAddress of the network interface we are bound to otherwise the ALL/ANY address.
(package private)  int usingPort
          Port number to which we are bound.
 
Fields inherited from interface net.jxta.platform.Module
START_AGAIN_PROGRESS, START_AGAIN_STALLED, START_DISABLED, START_OK
 
Constructor Summary
ServletHttpTransport()
           
 
Method Summary
(package private)  EndpointService getEndpointService()
          
(package private)  TransportBindingMeter getTransportBindingMeter(String peerIDString, EndpointAddress destinationAddress)
           
(package private)  TransportBindingMeter getUnknownTransportBindingMeter()
           
 void init(PeerGroup group, ID assignedID, Advertisement impl)
          Initialize the module, passing it its peer group and advertisement.
 int startApp(String[] args)
          Complete any remaining initialization of the module.
 void stopApp()
          Stop a module.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

HTTP_PROTOCOL_NAME

String HTTP_PROTOCOL_NAME

group

PeerGroup group
PeerGroup we are working for


assignedID

ID assignedID

implAdvertisement

ModuleImplAdvertisement implAdvertisement

executor

Executor executor
The executor used by HttpClientMessenger


usingInterface

InetAddress usingInterface
The InetAddress of the network interface we are bound to otherwise the ALL/ANY address.


usingPort

int usingPort
Port number to which we are bound.

Constructor Detail

ServletHttpTransport

public ServletHttpTransport()
Method Detail

init

public void init(PeerGroup group,
                 ID assignedID,
                 Advertisement impl)
          throws PeerGroupException
Initialize the module, passing it its peer group and advertisement.

Note: when subclassing one of the existing PeerGroup implementations (which implement Module), it may not be recommended to overload the init method. See the documentation of the PeerGroup class being subclassed.

Specified by:
init in interface Module
Parameters:
group - The PeerGroup from which this Module can obtain services. If this module is a Service, this is also the PeerGroup of which this module is a service.
assignedID - Identity of Module within group. modules can use it as a the root of their namespace to create names that are unique within the group but predictable by the same module on another peer. This is normally the ModuleClassID which is also the name under which the module is known by other modules. For a group it is the PeerGroupID itself. The parameters of a service, in the Peer configuration, are indexed by the assignedID of that service, and a Service must publish its run-time parameters in the Peer Advertisement under its assigned ID.
impl - The implementation advertisement for this Module. It is permissible to pass null if no implementation advertisement is available. This may happen if the implementation was selected by explicit class name rather than by following an implementation advertisement. Modules are not required to support that style of loading, but if they do, then their documentation should mention it.
Throws:
PeerGroupException - This module failed to initialize.

startApp

public int startApp(String[] args)
Complete any remaining initialization of the module. The module should be fully functional after startApp() is completed. That is also the opportunity to supply arbitrary arguments (mostly to applications).

If this module is a PeerGroup service, it may be invoked several times depending on its return value.

Specified by:
startApp in interface Module
Parameters:
args - An array of Strings forming the parameters for this Module.
Returns:
int A status indication which may be one of Module.START_OK, Module.START_AGAIN_PROGRESS, Module.START_AGAIN_STALLED, which indicates partial or complete success, or any other value (negative values are recommended for future compatibility), which indicates failure.

stopApp

public void stopApp()
Stop a module. This may be called any time after init() completes and should not assume that startApp() has been called or completed.

The Module cannot be forced to comply, but in the future we might be able to deny it access to anything after some timeout.

Specified by:
stopApp in interface Module

getEndpointService

EndpointService getEndpointService()


getTransportBindingMeter

TransportBindingMeter getTransportBindingMeter(String peerIDString,
                                               EndpointAddress destinationAddress)

getUnknownTransportBindingMeter

TransportBindingMeter getUnknownTransportBindingMeter()

JXSE