2009-08-24 5 views
2

私は、 "/"というコンテキストでプロダクションとして展開するEARを持っています。 同じGlassfishインスタンスのサーバーにアプリケーションのテスト版を配備したいと思います。GlassFish複数のEAR

同じインスタンス内の別のコンテキストとポートでアプリケーションを展開することはできますか?

もしそうなら、application.xmlのコンテキストを変更するだけで、他のものを変更する必要はありますか?

+0

私は同じことをしたいです。私は、新しいポートなどでこの問題を解決できるglassfishで新しいドメインを作成するのかどうか疑問に思っていましたか? –

+1

@Thorbjørnはい、新しいドメインは別のサーバーです。glassfishのドメインの概念の詳細はこちらをご覧ください。http://blogs.oracle.com/bloggerkedar/entry/concept_of_a_glassfish_domain – Ittai

+0

@Ittai、以来、私はそれを行っています。残念なことに、インスタンスは軽量ではありません。 –

答えて

3

通常、コンテキストルートを変更して新しいアプリケーション全体として展開することで、アプリケーションのテストバージョンを展開できます。

ただし、アプリケーションのデザインを考慮する必要があります。アプリケーションがデータベースを利用する場合は、テストデータベースのインスタンスが必要になります。テストアプリケーションとプロダクションアプリケーションが使用するすべてのJNDI名(これには、データソースとEJBが含まれます)が含まれていても、競合するものであってはなりません。同じアプリケーションの複数のインスタンスを実行することはお勧めできません。これらのインスタンスはすべて同じJNDI名を参照します。

最後に、ミッションクリティカルなアプリケーションなどの場合は、テスト環境と本番環境を分離し、同じ環境用に別々のマシンを用意することも標準的に認められています。これは、通常、ある環境(通常は制作環境)が別の環境によって誤って上書きされるのを防ぐために行われます。

+0

あなたは大抵正しいですが、別のアプリインスタンスで同じjndi名を検索する上で問題はありません。 jdbc接続の場合、必要に応じていつでもプールから接続を取得します。私はそれが良い考えであると言っているわけではありません:あなたはテスト/ prodのために同じdbへの接続を得るでしょう。しかし、それはjndiの問題ではありません。 – ymajoros

関連する問題