Weld 1.1.2 サンプル

Weld 1.1.2.FinalのexamplesをJBoss AS7上で動かしてみました。AS7にはWeb ProfileとEverythingの2種類のディストリビューションがありますが、使うのはフルセットの方です。動かしてみたのはexamples/jsf以下のサンプル5つ。

  • `jsf/numberguess` (a simple war example for JSF)
  • `jsf/login` (a simple war example for JSF)
  • `jsf/translator` (a simple EJB example for JSF)
  • `jsf/pastecode` (a more complex EJB example for JSF)
  • `jsf/permalink` (a more complex war example for JSF)
AS7へのデプロイは管理コンソールからが簡単。左のメニューでDeploymentsを選択し、右上のAdd Contentのボタンを押します。あとは、mavenでビルドした結果のwar/earをアップロードします。Deploymentのリストにデプロイしたモジュールが見えたらEnableボタンを押します。デプロイに成功すればEnabledの列に緑の丸が表示されます。
これらのサンプルはAS6で動くように設定されているので、AS7で動かすためには若干設定の変更が必要です。具体的にはlogin, pastecodeのpersistence.xmlにおいてデータソースのJNDI名をjava:jboss/datasources/ExampleDSに書き換えます。
<persistence-unit name="loginDatabase">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source><properties>
   <property name="hibernate.hbm2ddl.auto" value="create-drop">
   <property name="hibernate.show_sql" value="false">
</properties>
</persistence-unit>
残念ながら現時点では動作しないものも2つあります。translatorはAS7での@EJBに関わるバグにより失敗します(https://issues.jboss.org/browse/AS7-1269, Stauts:Closed)。pastecodeはEJB TimerServiceがAS7上でまだ動作しないためにデプロイに失敗します(https://issues.jboss.org/browse/AS7-474, Status:AS7.1実装予定)。失敗の原因はわかっているので、それを踏まないようにすればよいでしょう。

※JBoss AS 7.0.1で修正済みです(2011/08/18追記)

%d人のブロガーが「いいね」をつけました。