Archive for Java


Linuxで起動したTomcatにJMXで接続できない問題

add to hatena hatena.comment (0) add to del.icio.us (0) add to livedoor.clip (0) add to Yahoo!Bookmark (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を利用するための詳細な手順は以下の通り。
続きを読む »


Javaでproxy.pacを処理させる簡単な方法 その2

add to hatena hatena.comment (0) add to del.icio.us (0) add to livedoor.clip (0) add to Yahoo!Bookmark (0) Total: 0

 その1では、ブラウザからプロキシ設定を取得するコードを掲載しましたが、今回はJavaのコントロールパネルの設定を完全に読み取るコードです。

 これで、プロキシの対応もバッチリ!(実は、認証付きのプロキシという、高いハードルがあるのですが、そちらはそのうち記事にしたいと思います。。。)

ソースコードはこちらから 続きを読む »


Javaでproxy.pacを処理させる簡単な方法 その1

add to hatena hatena.comment (0) add to del.icio.us (0) add to livedoor.clip (0) add to Yahoo!Bookmark (0) Total: 0

 ネットワークプログラミングをする場合、ローカルアプリケーションでは考えられないような問題が発生します。

 企業での利用を想定したビジネスアプリで最初に問題になるのが、プロキシやファイアーウォールだと思います。特に大企業になると、拠点毎にプロキシが分れており、proxy.pacと呼ばれるJavaScriptで記述されたファイルをブラウザに設定し、動的にプロキシを切り替える運用が行われております。

 JavaにもWindowsのコントロールパネルに設定パネルがあり、プロキシの設定ができるのですが、普通の手順ではJavaプログラムからこの設定を呼び出す事ができません。また、Sunの公式サイトも情報がありませんでした。

 Java Appletでは、この情報が使われているのは明らかなので、JDKのソースコードを読めば分かると思いがんばって読んでみる事に。。。

 その結果、どうやらJRE_HOME/libにあるdeploy.jarを利用すると良いという事が分りました。以下のコードでブラウザからプロキシの設定を取得する事ができます。当然、proxy.pacもパースすることができ、「ローカル(file:///)」や「ネットワーク(http://)」にファイルが設置されていても読み込めます。

ソースコードはこちらから 続きを読む »