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 アプリケーションでパッケージ化する設定はサポートされないことに注意してください。
  1. 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>
    
    Copy to Clipboard Toggle word wrap
  2. 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
  3. 次のように jboss-seam-booking.jar/META-INF/persistence.xml ファイルを変更しました。
    1. JBoss EAP 6 に同梱されるサンプルデータベースを使用するよう jta-data-source 要素を変更しました。
      <!-- <jta-data-source>java:/bookingDatasource</jta-data-source> -->
      <jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source>
      
      Copy to Clipboard Toggle word wrap
    2. hibernate.cache.provider_class プロパティーをコメントアウトしました。
      <!-- <property name="hibernate.cache.provider_class" value="org.hibernate.cache.HashtableCacheProvider"/> -->
      
      Copy to Clipboard Toggle word wrap
  4. 新しい JNDI バインディングを使用するよう、WAR の lib/components.xml ファイルを変更しました。
    1. 以下のように既存の 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"/>
      
      Copy to Clipboard Toggle word wrap
    2. "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"/>
      
      Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat