Wicket+EJB3をJBoss5.0.0で動かしてみる2(wicket-contrib-javaee-1.1.jar編)
Wicket+EJB3をJBoss5.0.0で動かしてみると同様のサンプルを
wicket-contrib-javaee-1.1.jarを使ってEJB3をJNDIからの取得ではなくてインジェクションさせたもの。
@EJB(name="xxxx")というアノテーションでインジェクションを可能にする。
wicket-1.3.5.jar
wicket-ioc-1.3.5.jar
wicket-contrib-javaee-1.1.jar
cglib-nodep-2.2.jar
がクラスパスに必要。
※補足情報
JBoss4.2x系だとデフォルトだとうまく動かない。
StandardJndiNamingStrategy.javaで
return "java:comp/env/" + (ejbName == null ? ejbType.getName() : ejbName);
とあるのが4.2.x系のJNDI名と合わないのが原因。
JavaEEBeanLocator.javaの137行目を
String lookupName = calculateName(name, type);
↓
String lookupName = name;
として @EJBアノテーションをEJB名ではなくてJNDI名にする。
@EJB(name="wicket-ejb3-sample/LabelBeanImpl/local")
public LabelBean labelBean;
@EJB(name="wicket-ejb3-sample/LabelStateBeanImpl/local")
public LabelStateBean labelStateBean;
としてしまう等の対応で暫定的に動くようにはなる。
web.xmlのservletタグの中のinit-paramタグでパラメータを指定してJavaEEBeanLocator.javaの挙動を変える等の方法論が本来は正しいとは思う。
閲覧数: -
更新日:2009-01-06 10:21:58 (Tue)
&link_trackback(text=トラックバック元一覧:表示する)
リンク元一覧:
#ref_list
最終更新:2009年01月06日 10:21