Show Table of Contents
4.3.8. Seam 2.2 Booking アプリケーションの移行時に加えられる変更概要の確認
事前に依存関係を判断し、暗黙的な依存関係を一度に追加した方が効率的ですが、この例では問題がどのようにログに表示されるかを説明し、デバッグや解決方法に関する情報を提供します。JBoss EAP 6 へ移行するときにアプリケーションに加えられる変更の概要は次のとおりです。
重要
Seam 2.2 で Hibernate を直接使用するアプリケーションは、アプリケーション内部にパッケージ化された Hibernate 3 のバージョンを使用することがあります。JBoss EAP 6 の org.hibernate モジュールを介して提供される Hibernate 4 は、Seam 2.2 によってサポートされません。この例の目的は、最初の手順として JBoss EAP 6 でアプリケーションを実行させることです。Hibernate 3 を Seam 2.2 アプリケーションでパッケージ化する設定はサポートされないことに注意してください。
jboss-deployment-structure.xmlファイルを、EAR のMETA-INF/ディレクトリーに作成しました。ClassNotFoundExceptionsを解決するために、<dependencies>と<exclusions>を追加しました。このファイルには、以下のデータが含まれます。<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0"> <deployment> <dependencies> <module name="javax.faces.api" slot="1.2" export="true"/> <module name="com.sun.jsf-impl" slot="1.2" export="true"/> <module name="org.apache.commons.logging" export="true"/> <module name="org.dom4j" export="true"/> <module name="org.apache.commons.collections" export="true"/> </dependencies> </deployment> <sub-deployment name="jboss-seam-booking.war"> <exclusions> <module name="javax.faces.api" slot="main"/> <module name="com.sun.jsf-impl" slot="main"/> </exclusions> <dependencies> <module name="javax.faces.api" slot="1.2"/> <module name="com.sun.jsf-impl" slot="1.2"/> </dependencies> </sub-deployment> </jboss-deployment-structure>ClassNotFoundExceptionsを解決するため、次の JAR をEAP5_HOME/jboss-eap-5.X/seam/lib/ディレクトリー (5.X は移行元の EAP 5 バージョンに置き換え) からjboss-seam-booking.ear/lib/ディレクトリーにコピーしました。- hibernate-core.jar
- hibernate-validator.jar
- 次のように
jboss-seam-booking.jar/META-INF/persistence.xmlファイルを変更しました。- JBoss EAP 6 に同梱されるサンプルデータベースを使用するよう
jta-data-source要素を変更しました。<!-- <jta-data-source>java:/bookingDatasource</jta-data-source> --> <jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source>
- hibernate.cache.provider_class プロパティーをコメントアウトしました。
<!-- <property name="hibernate.cache.provider_class" value="org.hibernate.cache.HashtableCacheProvider"/> -->
- 新しい JNDI バインディングを使用するよう、WAR の
lib/components.xmlファイルを変更しました。- 以下のように既存の
core:init要素を置き換えました。<!-- <core:init jndi-pattern="jboss-seam-booking/#{ejbName}/local" debug="true" distributable="false"/> --> <core:init jndi-pattern="java:app/jboss-seam-booking.jar/#{ejbName}" debug="true" distributable="false"/> - "EjbSynchronizations" バインディングおよび "TimerServiceDispatcher" JNDI バインディングのコンポーネント要素を追加しました。
<component class="org.jboss.seam.transaction.EjbSynchronizations" jndi-name="java:app/jboss-seam/EjbSynchronizations"/> <component class="org.jboss.seam.async.TimerServiceDispatcher" jndi-name="java:app/jboss-seam/TimerServiceDispatcher"/>

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.