WebLogic で CDI 3+1 #javaee
この記事はJavaEE Advent Calendar 2012の二日目の記事です。
一つ前は [twitter:@making]さんの Java EE 6 ハンズオンラボでJavaEE6を始めよう!(JBoss Forge付き) #javaee #glassfishjp です。
一つ後は[twitter:@backpaper0] さんの Arquillianでインテグレーションテスト最初の第一歩 です。
なんとなく立ててみたJavaEE Advent Calendarも人が集まるのかなーとずっと心配でしたが、気が付けばいつの間にか満員御礼。
皆様ご愛顧のほどよろしくお願い致します。
WebLogic で CDI その1
今年の3月にこんな記事を書いていました。
懐かしすぎて涙が出てくるほどですが、WebLogicでCDIを使ったアプリケーションを動かしてみた時のお話。
その1を未だに公開していなかったのでついに公開。
当時、GlassFishで動作しているアプリケーションに関しては、WebアプリケーションをそのままWebLogicにデプロイすることで移植が可能とされていたけど、本当のところはどうなのかというのを動かしてみた内容でした。
結果としては残念なことにそんなことは無いという事が判っています。*1
とりあえずCDI周りは非常に怪しかった。
なお、資料の間違いとして、
47ページ目のupdateは90%ぐらい嘘。48ページ目はem.remove(entity)が正しいとツッコミが入っております。
[twitter:@shinsan68k]さん、[twitter:@backpaper0] さんありがとうございました。
WebLogic で CDI その3
その1から11ヶ月、その2からも9ヶ月、そろそろ流石に動くだろうということで再度挑戦。
[twitter:@yamadamn]殿からRelease1が一般でもダウンロードできるということを教えていただいたのでGO!*2
直っていれば、何事も無くすぐに行けるはず!結果!
java.lang.IllegalArgumentException: [EJB:011140]The argument jsf2.demo.scrum.infra.repository.JpaRepository is not a valid local client view for the EJB ProjectRepository(Application: scrumtoys, EJBComponent: scrumtoys.war). at weblogic.ejb.container.internal.SessionBeanReferenceImpl.getBusinessObject(SessionBeanReferenceImpl.java:25) ・ ・ ・
・・・・甘かった。
前回と違うエラーになっているのは一応何かしら進んだ証拠?
以前一度[twitter:@yamadamn]殿からRelease1でフィックスされたバグの一覧を教えていただいたことがあったのですが、そちらにはそれっぽいのが載ってなかったんですよね。
一応のエラーについての解説
一応、エラーについて解説させてもらいます。
エラーとなっているJpaRepositoryは abstractなクラスです。
https://github.com/ryoasai/jsf-scrumtoys-refactored/blob/master/src/main/java/jsf2/demo/scrum/infra/repository/JpaRepository.java
JavaEE6では自動的にビジネスインターフェースが生成されます。(local client viewと書かれているもの)
以前、GroovyでEJBを作成した時にハマったところですが、今回もこれが悪さをしている模様。
本来別に作られるべきインターフェースと、abstractクラスが間違えて認識されているみたい。
ぐぬぬ。
一応@LocalBeanをつけてもみましたが、どちらにしてもエラー。
残念でした。
修正方法はビジネスインターフェースを作成するとか、abstractなクラスを取り除くとか色々思いつくけれどもそこまでやる気はないです。
一度は動かしてるしね。
結論
残念でした。
今年初めに気にはなっていて、すす払いするつもりで再挑戦しましたが残念。
来年頭にはリリース2が発表されるらしいので、そちらでは直ってると良いですね。
Oracle WebLogic Server 11g構築・運用ガイド
- 作者: 伊藤忠テクノソリューションズ株式会社,日本オラクル株式会社
- 出版社/メーカー: 翔泳社
- 発売日: 2010/12/02
- メディア: 大型本
- クリック: 24回
- この商品を含むブログ (9件) を見る
Beginning Java EE 6~GlassFish 3で始めるエンタープライズJava (Programmer's SELECTION)
- 作者: Antonio Goncalves,日本オラクル株式会社,株式会社プロシステムエルオーシー
- 出版社/メーカー: 翔泳社
- 発売日: 2012/03/09
- メディア: 大型本
- 購入: 5人 クリック: 147回
- この商品を含むブログ (29件) を見る