



Appendix B HORB Commands
B.1 HORBC: The HORB Compiler
HORBC Command line syntax
horbc [options] file...
Description
'horbc' is the compiler for the HORB system. horbc compiles
from Java source files into Java class files. A input file can be either
a Java source file or a Java classname (fully qualified class/inteface
name, not class file). When you compile 'foo.java' by;
C:> horbc foo.java
horbc generates foo.class, foo_Proxy.java, foo_Proxy.class, foo_Skeleton.java
and foo_Skeleton.class. If you give a classname instead of a Java source
file, for example foo, by;
C:> horbc foo
the same files except foo.class are generated.

Classes that are remotely called or remotely passed have to be compiled
by horbc. Other classes that are client side classes need not be compiled
by horbc. These classes should be compiled by javac (Sun Java compiler).
However, you can use horbc instead of javac. In this case, use -c
option with horbc to eliminate generating a proxy class and a skeleton
class, like;
C:> horbc -c Client.java
Options
- -? or -h or -help
- Show help message.
- -v or -verbose
- Show debug output of HORBC.
- -version
- Show HORBC version.
- -verboseproxy
- Proxy and Skeleton generate debug messages.
- -c
- Don't generate Proxy and Skeleton. Foo.java is just compiled into Foo.class.
- -major num
- set major version number of proxy and skeleton classes to num. When
a client calls a remote object via a proxy and a skeleton, these major
version numbers are checked to see the versions match. Usually you should
increment num by one, when you alter signature of the class. The value
range of num is short.
- -minor num
- set minor version number of proxy and skeleton classes to num. This
minor version number is not checked.
- -ignoresuper
- Ignores superclass of the class. You don't need to generate proxy/skeleton
classes for the superclass. This flag is used when you compile a subclass
of Applet for example.
- -nomethodsynch
- By default, all stub methods in a proxy class are synchronous methods
so that the proxy can be shared by some threads. (It does not mean a remote
method is a synchronous method.) This option makes methods non-synchronous.
- -proxyonly
- Generate proxy but not skeleton.
- -skeletononly
- Generate skeleton class but not Proxy.
- -nocompile
- Don't compile _Proxy.java and _Skeleton.java into class files.
- -delete
- Delete _PRoxy.java and _Skeleton.java.
- -O
- Turn on optimizer.
- -g
- Generate debug symbol tables.
- -warn
- Turns on generating warning messages.
- -d <dir> | -dir <dir>
- Specifies the root directory to store class files. When you specify;
horbc -d d:\users\hirano foo.java
causes class package1.foo in foo.java to be saved in:
d:\users\hirano\package1\foo.class
- -classpath <paths>
- Overrrides CLASSPATH used to look up classes. See the manual of Sun
javac.
NOTE
You should install Sun Java JDK before using horbc.
B.2 HORB: The HORB Server
HORB Command Line Syntax
horb [options]
Description
'horb' is the server program of the HORB system. You have to
run this program in order to run your server objects. In this context a
server object means an object that is remotely created by a client object
residing on another machine. Server objects are automatically loaded from
class files by requests from client objects and executed in the same process
as horb. Thus, you have to set the CLASSPATH environment variable to point
to the correct directory containing your class files before invoking horb.

Options
- -? or -h or -help
- Show help message.
- -v or -verbose
- Show debug output of HORB server.
- -version
- Show HORBC version.
- -port <num> or -p <num>
- Use port number <num> to accept connections
- -conf file
- Read configuration file.
- -start class objectID
- Start class as a daemon object named objectID. Example: -start horb.examples.clientServer.Server
myServer. If you need to start multiple objects, use a configuration file.
- -acl file|URL
- Load an ACL file from file or URL. An example of URL is horb://hostname/SystemACLMaster#ACL_NAME.
If you need to load multiple ACL files, use a configuration file.
- -aclmaster
- Make this HORB process an ACL master server. ACL clients may download
ACL files from this HORB process.
- -ioci <class>
- Specify Inter-Object Communication Interface class
(default horb.orb.BasicIOCI)
If you make a new IOCI class and want to use it as a default protocol,
supply the classname by this option.
Command line options override configuration file.
B.3 HORBSTAT: Show HORB Server statistics
HORBSTAT Command Line Syntax
horbstat [options] [URL]
Description
'horbstat' shows various facts of a specified HORB server. They
includes information about:
- HORB servers
- HORB objects
- HORB threads
URL specifies hostname of a HORB server or objectID to be displayed.
Options
- -? or -h or -help
- Show help message.
- -version
- Show HORBSTAT version.
- -port <num>
- Use port number <num> to connect to a HORB process.
- -host <hostname>
- Connect to hostname.
- -server
- Show server statistics.
- -o <objectID>
- Show info about objectID.
- -t or -thread
- Show thread info, too.
- -s <num>
- Show info repleatedly in <num> interval.
- -user <username>
- Connect to server as username.
- -passwd <password>
- Connect to server with password.
Examples
horbstat horb://www.etl.go.jp:8887/
horbstat -host www.etl.go.jp -port 8887
horbstat horb://www.etl.go.jp/myObject
horbstat -server horb://www.etl.go.jp
horbstat -t horb://www.etl.go.jp
horbstat -user administrator -passwd secret horb://www.etl.go.jp
B.4 FOFRUN: Run a frozen object
FOFRUN Command Line Syntax
fofrun [options] filename.fof
Description
'fofrun' runs a frozen object. The frozen object must be a Restartable
object.
Options
- -? or -h or -help
- Show help message.
- -version
- Show FOFRUN version.
- -autosave [file]
- Save the object after execution. If file is omitted, the same file
is used.
- -info
- just show information fo the given foffile.
Examples
fofrun client.fof
fofrun -info client.fof
fofrun -autosave client2.fof client.fof