MGWSI で JSP(Java Server Pages) から GT.M を使えるようにしたときの作業メモです。
MGWSI 導入については → こちら

GT.M / 仲介用デーモンプロセス / MUMPS向けの通信プロセス は準備済みとします。

  • apt-get で Java 開発キットを導入
    • sudo apt-get install openjdk-6-jdk
    • OpenJDK 6 を使ったけど、まあ、なんとなく
  • アプリケーションコンテナ&HTTPサーバとして Resin を導入
    • Apache は、また別のモジュールを試してみたいのでなるべく手を入れたくなかったので Resin 単体で動かします
    • http://www.caucho.com/download/ から resin-3.0.28.tar.gz をダウンロード&展開
    • インストール
sudo ./configure
※本格的に導入するならインストール先を指定して(省略すると展開したとこで動かすことになります)
sudo ./configure --prefix=/usr/local/resin
  • Resin 設定
    • ~/conf/resin.conf にディレクトリ指定を追加
<web-app id="URLに指定するディレクトリ" document-directory="実際のディレクトリ(*1)" />
※ Servlet は使わないので、設定はディレクトリの対応指示まで
  • MGWSIインタフェースの設定
    • (*1)のディレクトリ/WEB-INF/classes/ 配下に m_jsp ディレクトリを作成
      • 適当に JSP を動かしたら WEB-INF/classes/ が出来てました
    • ~/mgwsi/java/m_jsp.class を、上記ディレクトリへコピー
  • 環境変数の設定
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk
  • 起動 (start を指定しないとカレントのシェルで動くので制御が返ってきません)
~/bin/httpd.sh start
  • 停止
~/bin/httpd.sh stop

作業は以上です。

こんな感じで動かします。
<jsp:useBean id="m_jsp" scope="page" class="m_jsp.m_jsp" />
<%
String[] key = new String[2];
// データ格納
key[0] = "1";
key[1] = "dog";
m_jsp.ma_set("^animal",key,"wanwan");
key[1] = "cat";
m_jsp.ma_set("^animal",key,"nya-nya-");
key[1] = "snake";
m_jsp.ma_set("^animal",key,"...");
// データ参照
key[1] = "cat";
out.print(m_jsp.ma_get("^animal",key) + "<br />");
// データ削除
key[1] = "snake";
m_jsp.ma_kill("^animal",key);
%>

多段配列の場合はこんな感じで
String[] key = new String[5];
key[0] = "4";
key[1] = "country1";
key[2] = "part1";
key[3] = "date1";
key[4] = "name1";
out.print(m_jsp.ma_get("^tabnle",key) + "<br />");

最後に

なんとか動く環境はできたのですが、ちょっと動作が不安定です。
組み合わせがわるいのか、設定がたりないのか、またはその他の原因か?
後日、時間があれば調べることにします。
最終更新:2010年01月23日 01:03