Java

2009.12.08

Apache XML-RPCでProxyを超える

Tracに対してXML-RPCで通信を行う際はApache XML-RPCのライブラリを使用しています。

事情によりProxyを通す必要が出てきたので調べてみますと、org.apache.xmlrpc.client.XmlRpcSun15HttpTransportクラスにてProxyをセットするメソッドがあるとのこと。

しかしながら、使っているライブラリにおいてはそのようなクラスは見つからず。

変更履歴を見てみると、3.1.1(2008/8/10リリース)で追加されているんですね。

Added support for javax.net.ssl.SSLSocketFactory and javax.net.Proxy.

使っていたバージョンが3.1だったので、3.1.2(3.1.3はまだsnapshot状態のようなので)に変更して、無事にProxyを通すことができるようになりました。

実際には、org.apache.xmlrpc.client.XmlRpcSun15HttpTransportFactoryを経由して指定することになります。

#Tracに対してあれこれするツールを作り始めたのは2008年5月頃だったので、当時の最新版の3.1をそのまま使ってたっぽいです。

| | Comments (0) | TrackBack (0)

2009.08.07

JavaWorld DAY 2009

JavaWorld DAY 2009行ってきました・・・が、う~ん・・・?

個人的にはスポンサーセッションはいまいち・・・。どうしても、自社の製品の紹介が中心になってしまうのは仕方がないところだとは思うのですが。そんな中でも、Sunのはおもしろかったのですが、ハードからOSからミドルウェアから、「フルスタック」のラインナップを有しているからでしょうかね(「基盤」的な感じ、といったところでしょうか)。

まぁ、あくまでもこれは個人的な感想で、かつ、他のスポンサーセッションは過去に似たような話を見聞きしたことがあった、というのも影響しているとは思いますが。

#ちなみに、過去には2006年2005年に参加したのですが、セッション数は減少傾向・・・まぁ、仕方がないんでしょうかねぇ・・・。

| | Comments (0) | TrackBack (0)

2009.07.19

Arrays.toString(Object[])

Java配列

Java5で、配列の内容を簡単に出力することができる、Arrays.toString(Object[])なるメソッドが追加されていたんですね。

今まで(Java6を使っているときも含めて)、System.out.println(Arrays.asList(Object[]).toString()) って感じで内容を出力してました(^^; まぁ、JavaDocによると、基本的に同じ結果になるとのこと(配列がnullの場合を除く)ですが、Arrays.deepToString(Object[]) なんてのは結構便利かも。

| | Comments (0) | TrackBack (0)

2009.05.30

mod_proxy_balancerの振り分けをhttpで

 Apache2.2以降は、mod_proxy_balancerやmod_proxy_ajpで簡単に複数台のTomcatと連携できるようになりました。

 これらのmoduleを組み合わせる場合は、ブラウザから送られてきたリクエストを、Proxyディレクティブでbalancerプロトコルに変換し、balancerプロトコル側でさらにajpに転送といった感じでの指定が一般的(参考:Apache2.2とTomcatでロードバランサー)。

 ただ、Apache/Tomcat間にFirewallが存在すると、時々ajpのエラーが発生することもあるようで(これ自体、そもそも何故エラーが発生しているのか、どういう回避方法があるのか不明なのですが)、試しに、ajpではなくhttpでApache⇒Tomcatへ転送してみました。

 すると・・・Redirectの部分で、見事に大ハマリ(苦笑)。リダイレクトされた場合、次のリクエストがBalancerMemberのところで指定したホスト名になってしまうため、PRGで画面遷移を行っているTeedaなどは実質使用不可に・・・。

BalancerMember http://localhost:8080/Test route=Tomcat1

 なんて感じで指定していると、リダイレクト時は、http://localhost:8080/でアクセスしようとするため、接続先不明と言うことに・・・(当然ながら、localhost:8080で待ち受けているものがあればそこに接続してしまいます)。

#そもそも設定方法を間違えているのかなぁ・・・。

| | Comments (1) | TrackBack (0)

2009.04.13

java.util.prefs.Preferences と Vista

 普段はXPな環境で開発しているので気付きませんでしたが、java.util.prefs.Preferences をVista(UACオン)で利用すると、レジストリへのアクセスに失敗してしまうようです。

 おそらく、(prefs)Vista and System Preferences(および(prefs) Vista virtualization breaks system node functionality for Preferencesが該当する内容になるのではないかと。

 まぁ、あえてレジストリに設定情報を保存せずに、propertiesファイルやxmlファイルに持つようにしていればこんなところでハマることもなかったと思うのですが、当時、Preferencesを使ってみたい気分だったようで(苦笑)。

| | Comments (0) | TrackBack (0)

2009.04.11

visualswing4eclipseで作ったアプリケーションの実行

Visual Swing for Eclipseで作成したGUIアプリを配布する際は、Pluginに付属しているgrouplayout.jarも必要となるようですね(使用するレイアウトにもよるかとは思いますが)。

なお、このjarファイルは、ワークスペースを作成したフォルダを基準に、
.metadata/.plugins/org.dyno.visual.swing/layoutext
フォルダ内にコピーされているようです(プロジェクトのビルドパスには自動的に追加されるようです)。

| | Comments (0) | TrackBack (0)

2009.03.24

java.util.regex.Patternの後方参照

原文⇒Back references
日本語版⇒前方参照

 ちなみに、Googleで「正規表現 前方参照」で検索すると、「もしかして 正規表現 後方参照」という結果になります(^^; まぁ、こういった用語に関してはあまり詳しくないのでこれ以上は触れないこととしますが、動きとして気になった点が。

String str = "abcdefg";
System.out.println(str.replaceAll("(c.*f)", "-$1-"));
System.out.println(str.replaceAll("(c.*f)", "-\\1-"));

 JavaDocからすると、\1(String中なのでエスケープして\\1)が期待した動きとなるような気はしつつ、結果は、


ab-cdef-g
ab-1-g

となってしまうんですよね・・・。

#最終的に期待した結果が得られる方法があるので、いいのですが。

| | Comments (0) | TrackBack (0)

2009.03.23

Domingo

Domingo - Domingo is a simple, consistent, object-oriented easy-to-use interface to the Lotus Notes/Domino Java-API.

 Lotus Notes/DominoにアクセスするJavaアプリケーションを開発するためのライブラリ、といったところでしょうか。ただ、ドキュメントを見た感じ、まだまだ開発中の状態? しかも、1年以上メンテナンスされていないような雰囲気(^^;

| | Comments (0) | TrackBack (0)

2009.03.22

Antでscp

Eclipse上からAntでscpタスクを使う場合。

EclipseのExternalToolsConfigurationの画面のクラスパスタブにおいて、Add JARs で、com.jcraft.jsch_0.1.37.v200803061811.jar を追加すればOK(Eclipse3.4.1の場合)。

なお、上記ファイルは、Eclipseのpluginsフォルダ内に存在。

| | Comments (0) | TrackBack (0)

2009.03.20

Visual Swing for Eclipse

Visual Swing for Eclipse

 EclipseでのJavaアプリケーション開発の弱点の1つ(と思う)は、GUIエディターではないかと。簡単なGUIアプリなら、ソースコードでがりがり書いてしまうことも可能ですが・・・というか、ソースコードでがりがり書ける範囲は結構限られてしまうので、比較的シンプルな画面しか作れませんが(^^; (まぁ、複雑なGUIを要求されるアプリケーションは滅多に作る機会がありませんが)

 Visual Swing for EclipseはEclipse3.4以降&Java6以降が要求されますが、さてさて、どんな感じなんでしょうか。試しに触ってみたところ、それなりにいい感じ? もっとも、複雑なGUIを作成した時、どの程度安定してGUI編集を行うことができるかどうか等も気になるところではありますが。

#ちなみに、自動生成されるソースコードは、VisualEditorの流れを継承しているような感じでしょうかね。

| | Comments (0) | TrackBack (0)

より以前の記事一覧