問題タブ [pax-web]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
servlets - バンドル内の CXF バンドルにフィルタを登録できない
Pax Web Whiteboard サービスを使用して、javax.servlet.Filter
CXF を介して登録された実行中の JaxRS エンドポイントに登録するのに問題があります。フィルターをサービスとして登録し、org.ops4j.pax.web.service.WebContainer を使用してフィルターを直接登録するという、いくつかの異なるアプローチを試しました。
私のテストでは、karaf を起動し、pax-web、webconsole、cxf、および pax-web ホワイトボード サービスをインストールしました。私はブループリントでバンドルを登録しました:
ただし、このフィルターは呼び出されません。サーブレット名と urlpatterns の両方を使用して、urlpattern /* を試すまで試しました。次に、少し異なるアプローチを試み、設計図からサービス宣言を削除し、代わりに設計図の init メソッドを使用してフィルタを直接追加しました。
ログステートメントに反映されているように、メソッドは実際に呼び出されますが、フィルターはまだ実行されていません。
だから私はこれがどのように機能するかについて完全に間違っていますか? 私の「アプリケーション」は、CXF サーブレットに登録された単なるエンドポイントです。この部分は機能しており、そこで定義されている REST サービスを呼び出すことができます。しかし、私が何をしても、フィルターは実行されていません。ここでいくつかのライブラリを使用していますが、よくわかりません (サーブレット/フィルター、Pax-Web、および Writeboard エクステンダー)。これが機能しない理由がわかりませんか? 私の推測では、バンドルごとに異なる httpcontexts があり、別のバンドル (CXF) のフィルターを自分のテスト バンドルに単純に登録することはできません。
これが本当なら、誰かがこの問題に適切に対処する方法を教えてもらえますか? CXF バンドルの bundlecontext を取得して、それにフィルターを登録することはできましたが、これは恐ろしいハックのように思えます。そうでない場合、誰かがなぜこれが機能しないのか教えてもらえますか?
java - Apache Karaf / Jetty / Pax-Web のデフォルト パスを / から your-custom-path/ に変更するには?
いくつかの .war ファイルを含む Karaf インストールがあります。それらのそれぞれは、hostname:port/individual-context-path から利用できます。
実際に 404 を返す hostname:port/ 呼び出しを特定のコンテキストパスにリダイレクトするにはどうすればよいですか?
jetty / karaf「ルートパス」を定義するファイルはどれですか?
pax-web - CSS が PaxWeb Http ホワイトボードで機能しない
Apache Karaf で PaxWeb Http Whiteboard サービスを使用しています。すべてが機能しますが、特定の CSS スタイルを適切にレンダリングできません。たとえば、
これはドロップアップ サークルを表示するはずですが、PaxWeb でホストされている場合、css は読み込まれます。コンテンツはレンダリングされません。クロムでは正方形のボックスが表示されますが、Firefox では; 正方形のボックスに数字 f364 が表示されるだけです。
これは、NodeJS で Web サイトをホストしている場合に機能することに注意してください。
私の設計図は、ここで示したものと同じです。
cssが正しくレンダリングされない理由を誰かが明らかにすることはできますか?
ありがとうございます
java - Jetty、websocket、java.lang.RuntimeException: プラットフォーム コンフィギュレーターを読み込めません
エンドポイントで http セッションを取得しようとしています。この推奨事項https://stackoverflow.com/a/17994303に従いました。それが私がした理由です:
と
そして、これは私が得るものです
osgi、jetty 9.3.11、および pax-web 6.0.0 を使用しています。
java - Pax-web を起動できません
フレームワーク実装の Felix 5.4 を介して OSGi で遊んでいます。現在、アプリケーション サーバーを OSGi フレームワークにバンドルとしてインストールしたいと考えています。私は Pax-web を見てきましたが、それは私にとって完璧なソリューションのようです。ただし、必要なすべてのバンドルを正常に起動した後、ソフトウェアは次のエラーで不平を言います:
エラーを見ると、一部の Jetty 構成は pax 組み込み型の jetty バージョンでは使用できないようです。特にmaxErrorDispatches
、blockingTimeout
およびpersistentConnectionsEnabled
エラーの原因となります。ただし、これら 3 つのプロパティをコメントアウトしても、pax-web は起動せず (127.0.0.1 に接続できません)、いくつかのログの後、次のように出力されます。
org.ops4j.pax.web.pax-web-jetty-bundle[org.ops4j.pax.web.service.internal.ConfigurationImpl] : 構成プロパティ org.ops4j.pax.web.config.url の読み取りに失敗しました
私はこの問題を解決しようとしましたが、OSGi と Jetty の専門家ではないため、解決策を見つけることができませんでした。私のシナリオにいくつかのコンテキストを追加するために、ここにいくつかの追加情報があります:
- 私はフェリックス 5.4 を使用しています。
- Windows 10 64 ビットを使用しています。
- jetty.xml i は、conf/、bin/felix フォルダーの同じディレクトリーにあります。
- 経由で起動するフェリックス
java -jar bin\felix.jar
インストールされたバンドル:
config.properties (コメントから削除):
Jetty の構成 (コメントなし):
apache-karaf - 開発時に安らかなバンドルをkarafにホットアップデートする方法
皆さん、私は karaf ガイドに従い、bundle:watch コマンドとリモート デバッグは問題ありませんでしたが、安静なサービスを使用する Web プロジェクトで mvn clean install コマンドを発行すると、karaf はバンドルの更新に失敗しました。エラーは次のとおりです。
問題は、開発時に安らかな Web バンドルをホット アップデートする方法です。
logging - Pax-WebのretainDaysが正しく機能しない
次のように、pax-web 構成でretainDaysオプションを有効にしようとしています:
org.ops4j.pax.web.pax-web-jetty (1.1.17)
ServiceMix 5.1.4 に埋め込まれたpax-web バージョン 1.1.17 ( ) を使用しています。
ただし、サービスを再起動すると桟橋が起動しないようです。
公式ドキュメントには他のオプションがいくつか記載されているため、追加しようとしましorg.ops4j.pax.web.log.ncsa.extended = true
たが、効果がありません。
実際、ドキュメントには、retainDays の使用方法 (私はいつか読みretaindays
、小文字でも試しました) とオプションの目的についての説明はありませんorg.ops4j.pax.web.log.ncsa.extended
。
retainDays
オプションを有効にする方法について何か考えはありますか?
アップデート:
私を完全に混乱させているのは、私の「古い」バージョン 1.1.17 より劣っている fixVersion: 1.1.0 に言及しているJIRA のこの新機能リクエストです。