2.4. アプリケーション


JBoss Enterprise Application Platform 5 は、Java Enterprise Edition 5 (Java EE 5) Platform 仕様に完全対応しています。Java EE 5 は Java 言語のメタデータの関連を定義します。これにより、アプリケーションコードにアノテーションを付けることができ、可能な限り配備記述子の必要をなくします。デフォルト動作も定義されますが、必要な場合は変更することもできます。これは例外による設定と呼ばれます。
Enterprise Application Platform 4.x 上で実行されるポータブル Java EE アプリケーションは、変更せずに Enterprise Application Platform 5 へデプロイすることが可能です。他ベンダーのアプリケーションサーバーを JBoss Enterprise Application Platform 5 に移行する場合は、ランタイム固有のデプロイメント情報が必要になることがあります。
Enterprise Application Platform 5 ユーザーは、簡易化されたパッケージや Java EE 5 Platform 仕様で定義されているデプロイメントルールを活用することができます (エンタープライズアーカイブ (EAR) に application.xml ファイルを必要としないなど)。また、EAR のルートディレクトリにあるデフォルトのライブラリディレクトリ (lib) によって、JAR を EAR 内にパッケージされた全てのコンポーネントに対して使用できるようにします。application.xml ファイルが含まれている場合は、library-directory 要素を使用して lib ディレクトリの場所を指定することができます。
Enterprise Application Platform 5 には、JBoss マイクロコンテナーの後の新しいデプロイ可能ユニットである MCBeans archive も導入されました。通常、MCBeans アーカイブの接尾辞は .beans または .deployer になります。MCBeans アーカイブは、 POJO デプロイメントを META-INF/jboss-beans.xml 記述子と共に JAR ファイルにパッケージします。この形式は、 Enterprise Application Platform デプロイヤに共通しています。
全ファイルタイプのアプリケーション検証はデフォルトで有効になっています。次のように deployers/ear-deployer-jboss-beans.xml ファイル内で設定することができます。
<!-- uncomment to disable xml validation
   <property name="useValidation">false</property -->
<!-- in case xml validation is disabled, it's also better to turn off schema validation
   <property name="useSchemaValidation">false</property -->
Copy to Clipboard Toggle word wrap
Enterprise JavaBean 2.0 のアーカイブ検証は、Enterprise Application Platform 5 でも Enterprise Application Platform 4.x と同じです。ただし、検証を制御するプロパティが deploy/ejb-deployer.xml から deployers/ejb-deployer-jboss-beans.xml へ移動されました。
エンタープライズアーカイブにアプリケーションクライアントのみが含まれ、EJB へ参照する場合、jboss-client.xml デプロイメント記述子で ejb-ref または ejb-local-ref 定義に </ignore-dependency> 要素を追加する必要があります。これにより、参照される依存関係を解決せずにアーカイブをデプロイするよう、デプロイヤが指示されます。

2.4.1. クラスローティング

新しい ClassLoader は、通常の使用には影響しない 1 つの例外を除き、完全な後方互換性を提供します ( http://www.jboss.org/community/docs/DOC-12840 )。JBoss AS 4.x のクラスローティング設定はすべて新しい実装でも動作し、デフォルト設定のほとんどが前バージョンの動作を維持します。
新しい ClassLoader の設計や実装の多くは元の UnifiedClassLoader と同じですが、 次の改良が加えられています。
  • クラスローダーが JMX に依存しなくなったため、 すべての環境でスタンドアロンとして使用できるようになりました。
  • 独自のクラスローダーポリシーの実装がより簡単になりました。
  • 使用するクラスローダーが委譲するクラスローダーに対する制御が強化されました。
  • どのクラスを他のクラスローダーに表示するかといった制御が強化されました。
  • 階層レポジトリがドメインに変更になり、1 つのレベル以上に拡大できるようになりました。

注記

useJBossWebClassLoader="true" は、JBoss Enterprise Application Platform 5 では使用されません。Enterprise Application Platform 5 のすべての WAR クラスローダーは、JBoss ClassLoader のため、WarDeployer は、Web アプリケーションの詳細設定を処理しなくなりました。
WAR のクラスローティング設定を変更する方法は複数あります。
WarClassLoaderDeployer の削除
WarClassLoaderDeployer は WAR の定義されたクラスローディングルールを自動的に実装します。 各 WAR にはスコープされたクラスローティングドメインが割り当てされます。 他のアプリケーションや親 EAR はクラスを可視することはできず、可能な場合は WAR のクラスが最初に呼び出されます。 この動作を排除し、WAR クラスローダーが他のデプロイヤー同様に動作するようにするには、deployers/jbossweb.deploy/META-INF/war-deployers-jboss-beans.xmlWarClassLoaderDeployer をコメントアウトします。
WAR にクラスローディングルールを明示的に定義する
WAR に WEB-INF/jboss-classloading.xml と次の内容を追加することもできます。
<?xml version="1.0" encoding="UTF-8"?>
<classloading xmlns="urn:jboss:classloading:1.0"
   name="mywar.war"
   domain="DefaultDomain"
   export-all="NON_EMPTY"
   import-all="true">
</classloading>
Copy to Clipboard Toggle word wrap
これは、WAR のクラスローダーの構築を定義します。 この例では、WAR のクラスローダーは、独自のドメインを定義しない他すべてのアプリケーションと共有する DefaultDomain に置かれています。 import-all が有効になっているため、クラスローダーは別のアプリケーションによってエクスポートされる他のクラスをすべて確認します。 export-all が設定され、アプリケーションのすべてのクラスを別のクラスに公開します。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat