2.2 Javaアプリケーションの実行制御

Java 2 Platform, Standard Edition (J2SE)環境では、クラスの実行時にインタプリタからコールされるmain()メソッドを使用してJavaアプリケーションを開発します。main()メソッドは、コマンドラインで次のコマンドを入力したときにコールされます。

java classname

このコマンドは、Javaインタプリタを起動し、実行対象のクラス(つまり、classnameで指定されたクラス)をJavaインタプリタに渡します。インタプリタがmain()をコールすることで、クラスがロードされ、アプリケーションの実行が開始されます。ただし、main()メソッドをコールしても、データベース内のJavaアプリケーションは起動されません。

データベース内のJavaアプリケーションをロードした後は、ロードされたクラス内の任意のstaticメソッドをコールすることでJavaコードを実行できます。実行するには、クラスやメソッドが公開されている必要があります。Oracle Databaseの場合、main()はJavaアプリケーションのエントリ・ポイントとはみなされません。Javaアプリケーションを実行するときは、ロードされたクラス内のメソッド名をエントリ・ポイントとして指定します。

たとえば、標準のJava環境では、次のコマンドを実行することでサーバーのJavaオブジェクトを起動します。

java myprogram

myprogramには、main()メソッドが組み込まれているクラスの名前を指定します。myprogramでは、main()がただちにmymethod()をコールして、着信情報を処理します。

Oracle Databaseでは、データベースにmyprogram.classファイルをロードし、エントリ・ポイントとしてmymethod()公開します。これで、クライアントまたはトリガーによって、明示的にmymethod()が起動されます。