JNIを使ってみる

JNIについて

JNIとは、Javaからネイティブなライブラリを起動するための仕組みです。結構古くからあるのですが、あまり使われるケースは少ないです。
それもそのはずで、Javaならばマルチプラットフォームで開発できるのがJavaの売りなのに、それが使えなくなってしまうからです。
とはいっても、「プラットフォームネイティブな処理をしたいのに、Javaではサポートされていない」といったことが発生した場合にはJNIを使わなければ、どうしても対応できないといったことがあります。私もあまり使った機会がないのですが、なかなか面白い技術なので、勉強がてら少し使ってみたいと思います。
WindowsAPIを実行したいなんてときには、JNIを使えばあっさりとできるので、お試しあれ。

ここで使用する環境
私が使っている環境をメインに、開発を進めることにします。
# JDK1.4.1
# Windows2000
# C言語のコンパイラとして、Borland C++ Compiler 5.5.1

JNIのマニュアルには、あまりBCCを使った開発について書いていないし、インターネットで検索してもVCばかりでBCCについて書いてあるページは少ないので、結構貴重な情報になるのではないかと思う。

JNIについては、sunの公式ページが参考になるのでリンクしておきます。
http://java.sun.com/j2se/1.4/ja/docs/ja/guide/jni/

ちなみにJNIはアルファベットそのままに「ジェイエヌアイ」と呼ぶ。
たまに「ジーニー」と呼ぶ人がいるが、それはJINIのことでJNIはとは全く別の技術なので間違えないように。

インストールと起動

インストールは簡単です。ファイルをダウンロードして解凍するだけです。このあたりはTomcatとおんなじです。 Jettyは下記のサイトから取得しました。(別サーバに引越ししていてリンクが変わるかも) http://jet … 続きを読む インストールと起動

設定ファイル(config.xml)

Jettyを使う場合には、Jettyサーバの設定を記述したXMLファイルを指定します。このファイルを勝手にconfig xmlと呼ぶことにします。 例えば、jarファイルからJettyを起動する際には、 java -ja … 続きを読む 設定ファイル(config.xml)

CGIの利用

JettyはHTTPサーバとしても機能するので、CGIも使えるように設定できます。 (最近はTomcatにもCGIServletなるものがあるようですが。。。) これのやり方については、JettyのサイトのFAQにも載っ … 続きを読む CGIの利用

Jetty6を開発に使う

Jettyは起動が軽いから、Tomcatを使った、TomcatプラグインやWTPよりも快適になるかと思い、最新のJetty6を使って調査してみました。結論から書くと、Jetty向けの実行時設定が面倒だったので、「私だった … 続きを読む Jetty6を開発に使う

設定ファイルなしで起動する方法

Jettyを開発用サーバーとして起動する方法として、以前に2つの方法を紹介しました。1つ目は設定用のXMLファイルを用意して、Javaアプリケーションとして起動する方法です。2つ目は、Jetty5/6用のWTPプラグイン … 続きを読む 設定ファイルなしで起動する方法

Jettyの起動まとめ:最小構成の起動設定

Jettyはサーバ組み込みのアプリケーションとして利用しやすい設計になっていますが、起動のための設定がイマイチ分からないので、これから何回かかけてまとめていこうと思います。Jettyはいろいろな設定で起動することができる … 続きを読む Jettyの起動まとめ:最小構成の起動設定

Jettyの起動まとめ:JSPが使える起動設定

前回からの続きです。 Jettyの起動方法の2パターン(XML設定から起動と、Javaから起動)については、前回の記事「Jettyの起動まとめ:最小構成の起動設定」を参照してください。 今回は、前回では使えなかったJSP … 続きを読む Jettyの起動まとめ:JSPが使える起動設定

Jettyの起動まとめ:JNDIからDataSourceを取得

今回は、JettyでJNDIを使ってDataSourceを取得します。 Tomcatの場合は、JNDIを使用する場合にserver.xml(もしくはcontext.xml)に<resource>によってDat … 続きを読む Jettyの起動まとめ:JNDIからDataSourceを取得

Jettyでホットデプロイ

Jettyでもホットデプロイができるようなので調査。 結論から書くとクラスファイルの更新がすぐさま反映されるという意味ではなく、デプロイを検知してくれるだけっぽいです。Tomcatみたいにクラスファイルの更新を検知してく … 続きを読む Jettyでホットデプロイ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください