Функция main отдельного Java-приложения реализована в flexi\impl\FlexiServer.java. Его код таков:
import org.omg.CORBA.*;class FlexiServer {
public static void main(String[] args) {
try {
// Инициализируются orb и boa.
org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init();
org.omg.CORBA.BOA boa = orb.BOA_init();
// Создаётся серверный объект.
Admin __admin = new Admin(); // Информирует boa, что серверный объект готов.
boa.obj_is_ready(__admin); // Регистрируется имя объекта с именем сервиса.
// Сначала определяется хост имени сервиса, по умолчанию это <localhost>:80.
String _nameServiceHost = null;
if (args.length > 0) {
// Принимается, что первый arg это имя хоста имени
// сервиса. Ожидаемый формат: <hostname>:<port>
_nameServiceHost = args[0];
}
else {
String _localHostName = null;
try {
_localHostName=
java.net.InetAddress.getLocalHost().getHostName();
_nameServiceHost = _localHostName + ":80";
}
catch (java.net.UnknownHostException e) {
System.out.println("Couldn't determine local host;
can't register name.");
}
} String _regURL = "http://" + _nameServiceHost + "/FSA-Admin";
System.out.println("Registering Admin object at URL: " + _regURL); // Регистрируется серверный объект.