Tymeac Start Up
If all you need is a simple RMI Server, then look at the non-activatable, Basic RMI
Server and use stand-alone mode. You can pick up the rest as you need it.
Tymeac supports a user exit for start up as well as user functions. This is in order to provide additional
functionality.
Tymeac reads system variables (Monitor interval, Notify Class, etc.) at start up from
either the Tymeac Configuration Data (preferences or file)
for a DBMS mode start up or from the TymeacUserVariables
class for stand alone mode.
We supply several script files for starting the Tymeac
Server. You must edit these for your environment.
Command line options:
Tymeac Start Up may be for
a non-activatable remote object,
an activatable remote object
or as an internal Server.
Command Line Options:
Tymeac Server accepts six, non case sensitive options with values from the command line.
(-dir, -file, -edbsd, -port,
-no, -s),
Plus one other required command line option with two values for Jini:
(-config)
Although the options are not case sensitive, the directory and filename may
be case sensitive depending on your operating system.
- Option -dir: [When using a DBMS, see below]
The File Directory where the Tymeac Configuration File resides.
-dir followed by the directory.
(e.g. -dir usr/local/ or -dir
x:\)
When not present, Tymeac uses the current directory.
By default the classes in the java.io package always resolve relative pathnames against
the current user directory. This directory is named by the system property user.dir, and
is typically the directory in which the Java virtual machine was invoked
- Option -file: [When using a DBMS, see below]
The File FileName of the Tymeac Configuration File.
-file followed by the filename.
(e.g. -file our_config.txt)
When not present, Tymeac uses the default filename: "tymeac.xml".
- Option -edbsd [When using a DBMS, see below]
Embedded Data Base Shut Down
This is for shutting down the database when it is embedded in Tymeac.
-edbsd followed by your Class name for shut down.
- Option -port:
The TCP port on which to export the RMI remote object. See the Scripts document (TYMEAC_RMI_PORT) for a
number you should use.
This is not used for IIOP or for Jini.
(e.g. -port 51000)
When not present, Tymeac uses the anonymous port (either zero or not specified)
- Option -no
This is to suppress printing of messages in Tymeac to the console, not logging to
the log Table.
(-no is short for -noverbose)
The default (verbose) is to send any information/error message to
System.out.println(). This is similar to using the Java interpreter without a console
window, (javaw in some implementations). However, some fatal error messages still
print, such as those from an SQL Error.
- Option -s
This is for Stand-Alone mode. This option suppresses the [File] attempt to find the
file name in the current directory (see Option 1, above.) This is useful when there
is no file system or to eliminate an unnecessary I/O. Naturally, this option is
mutually exclusive with options 1 and 2, above.
- Option -config [When using Jini] This
changed in release 5.5 (was inside a configuration file before.)
The configuration file for Jini.
-config followed by two additional agruments:
1. The location and name of the configuration file (E.G. config\tymeac-jini-ssl-server.config)
2. The the component name: (com.tymeac.TymeacServer
is the default)
See the Jini setup for details.
DBMS mode is when the Queues and Functions,
and optionally, Log
and Statistics values are kept in a DBMS. The names of the DBMS Url, DataManager etc are
kept in configuration data. The configuration data may be kept in
preferences or a file.
The sequence of events for finding the configuration data is:
When a directory and/or filename is present, Tymeac tries to read the configuration
file by:
- Using the directory and filename or
- Using the directory and default filename (Option 2) or
- Using the current directory (Option 1) and filename.
Any error is fatal.
When neither a directory nor filename is present, Tymeac looks for preference data (see
Java API java.util.prefs.Preferences) in system node com/tymeac/base.
When Tymeac does not find preference data, Tymeac tries to read the default filename
(Option 2) in the current directory.
When Tymeac does not find preference data and no default file exists in the current
directory, then Tymeac sets Stand-Alone mode.
Tymeac uses the Stand-Alone mode when:
- Option 5, (-s), is present or
- When Tymeac cannot find preference data or the default configuration file in the current
directory.
Simply:
- When the argument -s is present, Tymeac uses the Stand-Alone mode.
- When not using the DBMS arguments (Options 1 and 2) and
when no preference data exists and
when no configuration file exists in the current directory,
Tymeac uses the Stand-Alone mode.
Tymeac Server writes fatal errors to the console, when possible to the log and aborts the Start Up.
The message you need is that the start up is successful.
"Tymeac Server initialized successfully, MilliTime="
MilliTime is the System time in milliseconds since 1970. MilliTime also appears on the shut down message and within all return messages for Asynchronous Requests. It is the way to identify this
session of Tymeac.
Missing Classes or "something not found" usually means that the path to
Tymeac Classes is not proper or a spelling or case sensitive error.
Note: Tymeac starts various threads during start up
to perform necessary functions. Each of these threads writes its own messages.
Therefore, the order of these messages is unpredictable.
Tymeac Server requires access to classes for itself, the user Processing Application
Classes and several common classes between the Server and Clients. We explain these
in the directories structure.
Basically, three (four for Jini) directories are necessary:
- <home>/com/tymeac/base -- Contains Tymeac Server classes,
- <home>/com/tymeac/jini/base -- Contains Jini classes,
- <home>/com/tymeac/common -- Contains the Tymeac variables class,
com.tymeac.common.TyVariable,
- <home>/com/tymeac/serveuser -- Contains the User Processing
Application Classes.
You must address all security issues before starting the
Tymeac Server.
A policy file is required:
-Djava.security.policy=<home>/Security/policy.all
Non-Activatable Remote Object
Basic RMI
Start the RMI Registry.
Then start Tymeac. The Class is com.tymeac.base.RMIServer.
See the /Scripts/RMIServer.[bat or sh] file.
RMI with Custom Socket Factories
Requires user written custom socket factories.
See the custom socket factory set up.
Start the RMI Registry.
Then start Tymeac with custom socket factories: com.tymeac.base.CSFServer.
See the /Scripts/CSFServer.[bat or sh] file.
Basic IIOP
Start the CosNaming server (tnameserv).
Then start Tymeac. The Class is com.tymeac.base.IIOPServer.
See the /Scripts/IIOPServer.[bat or sh] file.
IIOP (Portable Object Adapter)
Requires user written Adapter.
See the POA IIOP set up.
Start the ORB Daemon (orbd).
Then start Tymeac. The Demonstration Class is com.tymeac.demo.POAServer.
See the /Scripts/POAServer.[bat or sh] file.
Jini
The Jini Server requires a Jini environment.
- An http server for codebase
- A lookup service
Start the service as: com.tymeac.jini.base.JiniServer.
See the /Scripts/JiniServer.[bat or sh] file.
Activatable Remote Object
The use of the activation framework requires a user-written Class to define the remote
object environment.
We supply a sample, general how-to of a Class that defines the Tymeac Server remote
object and registers that remote object with the RMI Registry (see the Set Up instructions for the RMI Server details and Jini2.x set up for the Jini details.)
Depending on your underlying operating system, there may not be a Java console window
for the activated JVM. Therefore, printing of most messages, mentioned above, is
unsupported. Errors log and throw a Throwable
Exception instead.
|