SQL Anywhere をインストールすると、インストーラによって Java 用 Mobile Link サーバ API クラスのロケーションが自動的に設定されます。これらのクラスは、Mobile Link サーバの起動時にクラスパスに自動的に組み込まれます。Java 用 Mobile Link サーバ API クラスは、install-dir\Java\mlscript.jar にあります。
1 つまたは複数の独自クラスを作成します。必要な同期スクリプトごとに、メソッドを作成します。これらのメソッドは、パブリックにしてください。クラスは、パッケージ内ではパブリックにしてください。
メソッドを参照してください。
非静的メソッドを持つ各クラスには、パブリック・コンストラクタが必要です。Mobile Link サーバは、各クラスのメソッドが初めて呼び出されるときに、そのクラスを自動的にインスタンス化します。
コンストラクタを参照してください。
クラスをコンパイルするときは、JAR ファイル java\mlscript.jar をインクルードしてください。
次に例を示します。
javac MyClass.java -classpath "c:\Program Files\SQL Anywhere 11\Java\mlscript.jar" |
統合データベースの Mobile Link システム・テーブルで、各同期スクリプトについて、呼び出すパッケージ、クラス、メソッドの名前を指定します。スクリプトのバージョンごとに、クラスを 1 つずつ使用します。
たとえば、ml_add_java_connection_script ストアド・プロシージャまたは ml_add_java_table_script ストアド・プロシージャを使用して、この情報を Mobile Link システム・テーブルに追加できます。
たとえば、次の SQL 文は、SQL Anywhere データベース内で実行すると、スクリプト・バージョン ver1 に対して、authenticate_user 接続レベル・イベントが発生するたびに myPackage.myClass.myMethod を実行するように指定します。指定されるメソッドはパブリック Java メソッドの完全修飾名で、大文字と小文字が区別されます。
call ml_add_java_connection_script('ver1', 'authenicate_user', 'myPackage.myClass.myMethod') |
スクリプト追加の詳細については、以下の項目を参照してください。
Mobile Link サーバがクラスをロードするよう指定します。Java 同期論理の設定の中で最も重要な部分は、Java クラスの検索場所を仮想マシンに対して指定することです。このようにするには、次の 2 つの方法があります。
クラスを検索するディレクトリまたは jar ファイルを指定するには、mlsrv11 -sl java -cp オプションを使用します。たとえば、次のコマンドを実行します。
mlsrv11 -c "dsn=consolidated1" -sl java (-cp %classpath%;c:\local\Java\myclasses.jar) |
Mobile Link サーバは、一連のディレクトリまたは jar ファイルに Java 用 Mobile Link サーバ API クラスのロケーション (java\mlscript.jar) を自動的に追加します。また、-sl java オプションは、Java VM がサーバの起動時にロードされるよう指定します。
使用可能な Java オプションの詳細については、-sl java オプションを参照してください。
明示的にクラスパスを設定します。ユーザ定義クラスのクラスパスを設定するには、次のような文を使用します。
SET classpath=%classpath%;c:\local\Java\myclasses.jar |
システムのクラスパスに Java 同期論理のクラスが含まれている場合、Mobile Link サーバのコマンド・ラインを変更する必要はありません。
-sl java オプションを使用すると、サーバ起動時に Java 仮想マシンを強制的にロードできます。このオプションを使用しない場合は、Java メソッドが最初に実行されるときに Java 仮想マシンが起動します。
使用可能な Java オプションの詳細については、-sl java オプションを参照してください。
UNIX で特定の JRE をロードする場合は、LD_LIBRARY_PATH (AIX の場合は LIBPATH、HP-UX の場合は SHLIB_PATH) を設定して、JRE を含むディレクトリを指定します。ディレクトリは、すべての SQL Anywhere インストール・ディレクトリの前に指定します。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |