2つのバンドルを展開したい、残りのすべてのサービスを持っていて、他のHTML/JSPページがすべて同じKarafインスタンスにある。どうすればいいのか教えてください。Karafの同じWeb-ContextPathで2つのバンドルをデプロイ
(私は成功したバンドルをインストールすることができていますが、私はWebページにアクセスすることができませんが、残りは同じWeb-のcontextPathに細かい作業している)として、それはまたないだろう、これは不可能です
2つのバンドルを展開したい、残りのすべてのサービスを持っていて、他のHTML/JSPページがすべて同じKarafインスタンスにある。どうすればいいのか教えてください。Karafの同じWeb-ContextPathで2つのバンドルをデプロイ
(私は成功したバンドルをインストールすることができていますが、私はWebページにアクセスすることができませんが、残りは同じWeb-のcontextPathに細かい作業している)として、それはまたないだろう、これは不可能です
stdのために可能である。 Webアプリケーションコンテキスト。 Web-ContextPathは一意でなければなりません。
あなたができることは、共有HttpContextを持っているか、実際にあなたに合ったものが、Rest Servletを含むバンドルにOSGi Fragmentを添付するか、Webフラグメントを使用することです。 WABの属性であるWeb-ContextPathについて話しているので、Web Fragmentのほうがよいでしょう。 HttpServiceを使用したり、サービスとしてリソースを登録する場合にのみ、それらの間でHttpContextを共有することができます。
Web Fragmentの場合は、標準があります。あなたの最初のバンドル内のweb.xmlには、2番目のバンドルは、次のようなものだろう:共有のHttpContextについて
<web-fragment xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-fragment_3_0.xsd"
version="3.0"
id="module1">
<error-page>
<error-code>404</error-code>
<location>/error.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/exception.jsp</location>
</error-page>
</web-fragment>
も参照してください、次のsample of Pax-Web
をので、それを以下のsample.
を見てみましょうつまり、両方を展開したいのであれば、よりシンプルでクリーンなソリューションとして両方を同じバンドルに保つ必要がありますか?または、2つの異なるWebコンテキストパスに進むことができます。これは、残りの部分がモバイルアプリのみで消費され、HTML/JSPがよりウェブ指向になる可能性が高いためです。 – Jayesh
はい、1つのWABに、または異なるWeb-ContextPathを持つ2つの異なるWABを持つ必要があります –