※Cachéは、バージョン2018.1より前のバージョンではJavaゲートウェイ機能が利用できません。
(直接Javaのクラスを呼び出すことはできません)
Javaゲートウェイを使用することで、Javaクラスのモジュールを実行することが可能です。
詳細は、以下のドキュメントをご覧ください。
Java ゲートウェイについて【IRIS】
例えば、以下のような Java を使用するサンプルをご案内します。
【テスト手順】
1.IRISまたはEnsemble でスタジオを起動し、[ツール] > [アドイン] > [Java ゲートウェイウィザード] でダイアログを起動します。
Java ゲートウェイウィザードについては、以下のドキュメントをご覧ください。
Java ゲートウェイウィザードについて【IRIS】
2.[クラス名] をクリックし、Javaクラスのフルパスを入力します。
3.Java ゲートウェイサーバの [ホスト] および [ポート] を入力し、[完了] をクリックします。
4.User.test.cls が自動生成されます。
5.以下のように実行します(62973ポートで Javaゲートウェイを起動している場合※)。
// 接続
set gw = ##class(%Net.Remote.Gateway).%New()
set cp=##class(%ListOfDataTypes).%New()
do cp.Insert("c:\temp\") // test.class の存在ディレクトリ
do gw.%Connect("127.0.0.1",62973,,,cp)
// 【テスト①】test1 を実行
set cls = ##class(User.test).%New(gw)
w cls.test1(gw),! // 文字列 "abc" が返る
// 【テスト②】test2 を実行
// User.test インスタンスを含んだ %ListOfObjects作成
set xx=##class(%ListOfObjects).%New()
set clsA = ##class(User.test).%New(gw)
set clsB = ##class(User.test).%New(gw)
do xx.Insert(clsA)
do xx.Insert(clsB)
set cls = ##class(User.test).%New(gw)
w cls.test2(gw,xx) // 【テスト②】2インスタンス渡したので 2 が返る
※管理ポータルのInteroperabilityメニュー(Ensembleメニュー)によるJavaゲートウェイサービスの設定方法:
対象プロダクションのサービスにEnsLib.JavaGateway.Serviceを追加し、「有効」に設定します。
プロダクション構成アイテムをコンパイルして更新した場合は、一旦「無効」にしてから「有効」にすると更新が反映されます。
詳細は以下のドキュメントをご覧ください。
プロダクションでの Java ゲートウェイの使用方法について【IRIS】
プロダクションでの Java ゲートウェイの使用方法について
※管理ポータル:[システム管理] > [構成] > [接続性] > [JDBC ゲートウェイ・サーバ]