portal - launch a portal serverSYNOPSIS
DESCRIPTIONportal [options] [nodeHost [nodeHost2 [...]]]
portal launches a portal server for a SIAM-MMC mooring. A portal is the "gateway" between one or more SIAM nodes on the far side of a low bandwidth intermittent connection, acting as clients, and SSDS (shore side data service) located on shore.OPTIONSportal will accept connections from any valid SIAM node that has been started with the node command with a command-line parameter that indicates the local portal machine. For example, if you start portal on a local machine called siam-portal, it will accept connections from any SIAM node that had been started with the command line "node siam-portal".
In addition, you can specify nodes that portal should look for at startup, by placing the [nodeHost] on the command line. For example, the command line
portal siam-node-1 siam-node-2
will start the portal, and before running it as a server, attempt to contact siam-node-1 and then siam-node-2 to download their data. Whether or not these contacts are successful, portal will then go into server mode and accept all incoming connections.Upon receiving an incoming connect attempt from a SIAM node, portal will use RMI calls to that node to download its data. It then places that data into its log directory (default is $SIAM_HOME/logs), under a subdirectory with the name given by the node's nodeID(). The log directory can be overridden by the "-logdir" command-line option. If the "-publish" command-line option is given, it will then publish the data to SSDS.
portal recognizes the following system properties, which can be passed on the command line via the -D flag, or edited into the portal script.BUGS
- leaseTime - the time, in ms, of the communications lease that it requests from the node. Default is 60000 (60 seconds). That is, it requests that the node leave the comms link on for this long before expiring the lease. portal renews this lease frequently during the download process, so a shorter time won't stop the process. It also terminates the lease when it's done with the download.
- readTimeout - the timeout, in ms, for the sockets that underlie the RMI calls. Default is 60000 (60 seconds). This timeout keeps RMI from creating "rogue" threads if the link dies, and allows portal to clean up in an orderly manner.
- downloadInterval - the minimum time between connects from any given node, in ms. Default is 900000 (15 minutes). If a node tries to reconnect before this interval expires, portal will not attempt another download.
- sun.rmi.dgc.client.gcInterval - This is a Sun/RMI property that configures RMI client runtime behavior. It specifies how often, in ms, that RMI checks to see whether a stub is no longer referenced by the rest of the client application. We set this by default to 7200000 (2 hours).
The timestring specified by the -since option is currently in local time, but should be in GMT.ENVIRONMENT
Command-forwarding to the mooring is not yet implemented.
The name of the JMS server location and topic names are currently hardcoded; should be user-specifiable
The following environment variables must be set: