1

将来のプロジェクトの構造について自問自答するので、ここに投稿します。

Jenkins / Hudson などの .war/ear デプロイ可能を提供し、独自のデータベースとプラグイン管理を組み込んだ主要なソフトウェアと同じモデルに従って、Java EE アプリケーションを作成したいと考えています。最終的な目標は、ユーザーが「すぐに使える」war/ear をダウンロードして展開することです。

私の質問は次のとおりです。

  • EJB を使用したいのですが、プロジェクトを IDE に組み込むにはどうすればよいですか? コアプロジェクト + 戦争プロジェクト ?

  • 組み込みデータベースの HSQL または Derby スタイルを使用したい場合、私が見つけたチュートリアルでは、「すぐに使用できる」アイデアに反するコンテナーに jar / xml を追加する必要があることが示されています。

  • 最後の質問は、jar の形で提供されるプラグインですが、アプリケーションでどのように使用できますか? 私の場合、このプラグイン管理に関するいくつかのアイデア/チュートリアルは大歓迎です。

このプロジェクトは教育目的です。

4

1 に答える 1

2

Java EEには、さまざまなアプローチを提唱する2つの学校があります。

最初の学校である伝統的な学校は、Java EEアプリケーションは常に不完全である必要があることを提唱しています。たとえば、「未解決の依存関係」があります。次に、アプリケーションパッケージャーからデプロイヤーまでの一連の人(役割)が、アプリケーションを実際に実行できるように徐々に繰り返し準備します。

この学校は、アプリケーションアーカイブ内にデータソース定義、セキュリティ(主に認証)、JMSキュー(最後のキューが完全にアプリケーションの内部にある場合でも)を組み込んでいることを避けています。この最初の学校の一部のメンバーによると、これらを含むアプリケーションはJava EEアプリケーションではなくなりました(例:https ://community.jboss.org/thread/164554を参照) 。

しかし、別の学校もあります。これは、JavaEEアーカイブにこれらすべてを含めることが実際に最善の方法であるユースケースが存在するという意見です。仕様に追加されたという事実@DataSourceDefinitionはこれを示しており、Java EE 7は追加のタイプのリソース(JMSキューなど)の埋め込みを標準化します。

これらの2つのブログ投稿では、組み込みデータベースを使用するJavaEEの例について説明しています。

多くのアプリケーションサーバーでは、組み込みの標準化されたデータソースのアイデアは少し後付けであり、TCKでカバーされていない可能性があります。要約すると、現在のサポートは次のとおりです。

  • WebLogic12c-完璧
  • JBoss AS 7.1.1-ほとんどの場合、トランザクションサポートをオフにする必要があります(https://issues.jboss.org/browse/AS7-4552を参照) 。
  • GlassFish 3.1.2-ほとんどの場合、JDBCドライバーをサーバーにコピーする必要があります
  • TomEE 1.0-現在は実際には機能せず、常に内部の組み込みDBに転送されます(https://issues.apache.org/jira/browse/TOMEE-171を参照) 。
于 2012-05-31T18:32:05.620 に答える