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()
が起動されます。