13 11 月, 2008

(
0)

(
0)

(
0)

(
0)
Total: 0

今、JMXでキャッシュをコントロールする仕組みを開発しているのですが、Linux上でtomcatを起動して、JMXを接続しようとするのですが、なぜか接続できなくて数時間悩みました。
色々調べて分かったのですが、Linux側で「hostname -i」と叩いて「127.0.0.1」と返ってくるとダメなようで、LANのIPなりグローバルIPなりが返答されないといけないようです。
あと、Java6以降では、com.sun.management.jmxremote.port=(ポート番号) を
指定するだけで良いという記事が多く見られましたが、私の環境では「com.sun.management.jmxremote=true」をVMオプションに指定しないと接続できませんでした(telnetはできたのでポートは開いているようです)
Linux上で起動したTomcatにJMXを利用するための詳細な手順は以下の通り。
続きを読む »
28 5 月, 2008

(
0)

(
0)

(
0)

(
0)
Total: 0
その1では、ブラウザからプロキシ設定を取得するコードを掲載しましたが、今回はJavaのコントロールパネルの設定を完全に読み取るコードです。
これで、プロキシの対応もバッチリ!(実は、認証付きのプロキシという、高いハードルがあるのですが、そちらはそのうち記事にしたいと思います。。。)
ソースコードはこちらから 続きを読む »
28 5 月, 2008

(
0)

(
0)

(
0)

(
0)
Total: 0
ネットワークプログラミングをする場合、ローカルアプリケーションでは考えられないような問題が発生します。
企業での利用を想定したビジネスアプリで最初に問題になるのが、プロキシやファイアーウォールだと思います。特に大企業になると、拠点毎にプロキシが分れており、proxy.pacと呼ばれるJavaScriptで記述されたファイルをブラウザに設定し、動的にプロキシを切り替える運用が行われております。
JavaにもWindowsのコントロールパネルに設定パネルがあり、プロキシの設定ができるのですが、普通の手順ではJavaプログラムからこの設定を呼び出す事ができません。また、Sunの公式サイトも情報がありませんでした。
Java Appletでは、この情報が使われているのは明らかなので、JDKのソースコードを読めば分かると思いがんばって読んでみる事に。。。
その結果、どうやらJRE_HOME/libにあるdeploy.jarを利用すると良いという事が分りました。以下のコードでブラウザからプロキシの設定を取得する事ができます。当然、proxy.pacもパースすることができ、「ローカル(file:///)」や「ネットワーク(http://)」にファイルが設置されていても読み込めます。
ソースコードはこちらから 続きを読む »