2011-01-01から1ヶ月間の記事一覧

GAE/J で Wicket

Google Apps Engine で Wicket を動作させるための準備 WEB-INF/appengine-web.xml にsessions-enabled = true を設定する <appengine-web-app xmlns="">http://appengine.google.com/ns/1.0"> <application>uran</application> <version>2</version> <sessions-enabled>true</sessions-enabled> </appengine-web-app>

GAEでの制約、ClassLoader

mybatis の issue-217 を読んで見つけたのは、 Google Apps Engine の制約で ClassLoader.getSystemClassLoader の実行を 許可されてないことだ。 http://code.google.com/p/mybatis/issues/detail?id=217 せっかく以前、便利であろうユーティリティクラスを…

GAE/J の現在時刻取得を日本時間で

GAE/J での現在時刻取得、java.util.Date 、 new Date() の結果は、UTC 時刻に なってしまう。 タイムゾーンを指定して new Date() を実行すれば良いのだが、 Wicket アプリケーションをGAE/J に配置する場合、WebAppljcation クラスの init() でタイムゾー…

GAE/J Log4J の時刻出力を日本時間に

GAE/J でLog4Jの時刻出力を日本時間にする Log4J の拡張版を入手する。 http://logging.apache.org/log4j/companions/extras/ JAR ファイル、apache-log4j-extras-1.1.jar は、WEB-INF/lib/ に配置する。 レイアウトのクラスをEnhancedPatternLayout に変更…

log4j-properties Converter

log4.properties を log4j.xml に変換するツールを見つけた。 http://code.google.com/p/log4j-properties-converter/ zip をダウンロードして展開すると、Windows用 bat ファイルと UNIX 用に シェルファイルが存在する。 使い方は、c:\work に log4j.prope…

Properties の inject

先日のClassToTypeLiteralMatcherAdapter を使用例として TypeListener 実装で Properties をインジェクトするものを次のように書く ことができる。 import java.lang.reflect.Field; import java.util.Enumeration; import java.util.Properties; import ja…

ClassToTypeLiteralMatcherAdapter

Google guice の bindListener 普遍的な使い方を googlegroup.com で見つけることができた。 インジェクト対象の限定方法として任意のサブクラス(またはimplements) であることを限定できることだ。 import com.google.inject.TypeLiteral; import com.goo…

guice3.0 で Velocity テンプレート生成

Google guice3.0 の toConstructor を VelocityEngine 生成で使用して "file.resource.loader.path" をURL path で指定する。 Velocity を使うのにずっと悩んでたのがリソース読込の設定を如何に単純な手順で 済ませるかであった。 Google guice 3.0 のtoCon…

ClassLoader の getResource を使う

Webアプリで、クラスパス上での URL を求めてみる。 例えば、Wicket の org.apache.wicket.markup.html.WebPage に対して URL url = WebPage.class.getClassLoader() .getResource(WebPage.class.getPackage().getName().replaceAll("\\.","/")); add(new La…

Wicket  XHTML で返す方法

Wicket XHTML でレスポンスを返すには、HTTP ヘッダレスポンスを返すところを WebPage の setHeaders を以下のようにオーバライドすれば良い。 @Override protected void setHeaders(WebResponse response){ response.setContentType("application/xhtml+xml…

複数DB接続のmybatis

iBATIS3(mybatis) Configration.xml に、複数のDB接続先を書いた認識が、 成功したので、Google guice での Module を用意してみた http://blog.zaq.ne.jp/oboe2uran/article/459/ がベースになっている import java.io.IOException; import org.apache.ib…

iBATIS3(mybatis) Configuration.xml を読む

iBATIS3(mybatis) Configration.xml で定義された Enviromomet をリストで取得するようなものを 探していたが見つからない。 しかたなく、XML読んで名前だけ取得するものを作った。 なぜなら、複数DB接続を制御したいからだ。 http://blog.zaq.ne.jp/ob…