2012-02-25 10 views
0

Jax-wsを使用して、ある状態を保存するデータベースを使用するWebサービスをデプロイしました。私はEARアプリケーションの中にすべてをパッケージ化し、それをGlassfishに配備しました。このアプリケーションの複数のコピーを同じサーバー(同じ物理マシン)に配備したいが、Glassfishはそれを許可しない。各アプリケーションは、それぞれのWebサービスが独自の状態を維持できるように、異なるWSエンドポイント(異なるURLおよび/またはポート)と異なるデータベースを持つ必要があります。URLとデータベースが異なる同じサーバー上の同じEARアプリケーションの複数のコピー

異なる仮想サーバーと異なるhttpリスナーにアプリケーションをデプロイしようとしました。だから私はアプリケーションが異なるURLに応答するようになった。残念ながら、アプリケーションは同じで、私のデータベースです。

誰でも手伝ってもらえますか?

答えて

0

グラスフィッシュは、同じ名前のアプリを複数回配備することを禁じます。

問題はおそらく、差別化された日付がプロビジョニングされる方法に起因しています。

  • 外部プロパティが
  • JNDI
  • (存在する場合)アプリケーションサーバーにファイル:外部ソースから - 通常のアプローチは、(データベース接続文字列、ユーザー名、パスワードを例えば)これらのプロパティを読み取ることがあります特定のプロビジョニング

ただし、展開によってファイルシステム上の別のファイルを探す方法が必要です。起動時に(ウェブ)コンテキスト名を読むことができます(ServletContextから):

String path = System.getProperty("config.location") + "/" + ctx.getServletContextName(); 
関連する問題