2016-11-17 7 views
0

2つのバンドルを展開したい、残りのすべてのサービスを持っていて、他のHTML/JSPページがすべて同じKarafインスタンスにある。どうすればいいのか教えてください。Karafの同じWeb-ContextPathで2つのバンドルをデプロイ

(私は成功したバンドルをインストールすることができていますが、私はWebページにアクセスすることができませんが、残りは同じWeb-のcontextPathに細かい作業している)として、それはまたないだろう、これは不可能です

答えて

1

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.

+0

を見てみましょうつまり、両方を展開したいのであれば、よりシンプルでクリーンなソリューションとして両方を同じバンドルに保つ必要がありますか?または、2つの異なるWebコンテキストパスに進むことができます。これは、残りの部分がモバイルアプリのみで消費され、HTML/JSPがよりウェブ指向になる可能性が高いためです。 – Jayesh

+1

はい、1つのWABに、または異なるWeb-ContextPathを持つ2つの異なるWABを持つ必要があります –

関連する問題