問題タブ [tomcat-valve]
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.
java - アクティブな (長時間実行される) HTTP 要求の URI を識別する方法は?
HTTP (POST/GET/etc) リクエストへの応答に (時々) 長い時間がかかる Web アプリケーションを想像してみてください。サーバー側でそのようなリクエストをどのように見つけますか?
これまでのところ、Tomcat AccessLogValve を使用して「完了した」リクエストを確認しましたが、「進行中」(スタック)のリクエストを確認することはできません:(
例えば:
現在スタックし
netstat
ているリクエストの数を知ることができる長寿命のソケットを特定できますが(URIではありません)、HTTPキープアライブはこのアプローチを無効にしますapp-server (
kill -3 <server_pid>
) を複数回スタックダンプし、どのスレッドが長時間実行されているかを推測し、URI をリバース エンジニアリングすることもできますが、これも賢明な方法ではありません。現在実行中の呼び出しを表示するWebアプリサーバーの前にルーター/プロキシを挿入できます(ホスト名の置き換え、証明書のクローン)-単純なアプローチではありません
継続的に実行し、トラフィックを解析して現在実行中の URI のリストを保持するだけに陥る可能性が
tcpdump
ありますが、その場合、httpsS はどうすればよいでしょうか?私が見つけた最も近いのは tomcat7 のStuckThreadDetectionValveで、これは長時間実行されている呼び出しを定期的に報告しますが、(URI ではなく) スタックトレースを出力し、「ライブ」データを提供しません (たとえば、定期的にポーリングし、ログをフラッディングし、状態を確認できるようにします) 1 ~ 60 秒前、「今」ではありません)
たぶん、重要/コア/基本的なTomcat機能の1つが欠けている/見落としているのでしょうか? それとも、weblogic (または他のアプリケーションサーバー) がこれに対して提供する堅牢なものを持っているのでしょうか?
このようなシンプルで本質的な機能がないと、ちょっと迷ってしまいます。ヘルプ?お願いします?
jboss - JBoss AS7 @Inject Bean をバルブに
@Inject
ステートレス セッション Bean を のサブクラスにすることは可能AuthenticatorBase
ですか?
JBoss を 7.1.1 として使用しています。
私のコードは次のようになります。
...
コントローラ オブジェクトを使用すると、 が発生しますNullPointerException
。
java - Tomcatでバルブ構成が機能しない?
URL ieでアプリケーションにアクセスしますhttps://myIPAddress:8443/myWebApp/
myWebApp.xml
以下のコンテキスト要素を含むファイルを作成し、それを下に配置しました<tomcat_home>\conf\Catalina\localhost\
MySSLAuthenticator.class は、下に配置されている jar ファイルの下にあります。<tomcat_home>\lib
しかし、MySSLAuthenticator ではなく SSLAuthenticator のインスタンスが表示されるというエラーが表示されるため、MySSLAuthenticator が表示されないように見えます。
ここに何が欠けているのかわかりませんか?Tomcat のバージョンは 6.0.35 です
tomcat - Tomcat バルブ - java.lang.NoSuchMethodError
トムキャット 6.0.36
Tomcat の起動時に java.lang.NoSuchMethodError が発生します。
私はこれを私の server.xml に持っています:
このエラーが発生しています:
tomcat7 - Custom Valve を Tomcat7 で動作させることができません
すべてのサーバー要件の情報を収集するためにバルブを作成しようとしています。
私はこの例に従っています: http://goo.gl/9wwylq
次の手順に従いました。
- Maven Java アプリケーションを作成します。tomcat-catalina 依存関係を追加する
- Java クラスを作成し、ValveBase から拡張します。
- invoke(リクエストリクエスト、レスポンスレスポンス)の実装
- ライブラリ (.jar) ファイルをビルドする
- ライブラリを ${tomcat.home}/lib ディレクトリにインストールします。
新しい Valve を使用するように server.xml を構成します。例えば:
バルブ className="com.bluelotussoftware.tomcat.ProcessingValve"
ホストタグとエンジンタグにそれを入れようとしました..しかし、何も機能していないようです.デバッグモードでログインも停止も取得できません..
私が行方不明になる可能性があると思うものはありますか?
java - ValveBase クラスを拡張します: java.lang.ClassNotFoundException
Java で 1 つの Web ベース アプリケーションを作成し、Java の ValveBase クラスを使用しました。コードは次のとおりです。
今、私はファイルをコンパイルし、そのプロジェクトのjarファイルを作成して、サーバーのlibフォルダーに入れました。私が変更したserver.xmlファイルの一部:
今、私は 1 つの新しいプロジェクトを作成して実行します。以下のようなエラーが表示されます:
java - Tomcat バルブを使用して POST リクエストをリダイレクトする
リダイレクトする必要があります
https://ipaddress/index.jsp to https://ipaddress/v1/index.jsp
トムキャットのバージョン: 7.0.32
server.xml でバルブを構成しています
<Valve className="com.mycompnay.tomcatvalve.RedirectValve" portal="v1" />
ここには、ValveBase を拡張するクラスがあり、いくつかのパターンに一致した後に response.sendRedirect を実行します。これはGETリクエストで機能します。しかし、どうすれば POST リクエストをリダイレクトできますか。
前もって感謝します
mysql - tomcat 7 jdbcアクセスログバルブが機能しない
こんにちは、Tomcat アプリケーションのアクセス ログに db を使用しようとしています。
Tomcatのドキュメントに従いました。https://tomcat.apache.org/tomcat-7.0-doc/api/org/apache/catalina/valves/JDBCAccessLogValve.html
サーバーは正常に起動しているようですが、テーブルにエントリが作成されていません。しかし、Tomcat が接続パラメーターを取得していることがわかります (無効な接続パラメーターを指定すると、サーバーは起動しません)。
これは、アクセス ロギング用の server.xml 構成です。
私は組み合わせパターンを使用しており、作成されたテーブルにはドキュメントで指定されている正確なスキーマがあります-
Catalina.out は、このコンテキストに役立つ情報を記録していないようです。
PS DB ロギングには多くの障害点があることは理解していますが、私のアプリケーションのプライマリ データベースはこれと同じです。したがって、失敗点は一種の共有です。
tomcat - AccessLogValve にローテーションしきい値を設定する
日/時間ベースではなく、AccessLogValve でサイズ ベースのログ ローテーションを設定できますか?
追加の質問:
log4j の RollingFileAppender で最大バックアップ インデックス フラグのようなものを探しています。
access_log* ファイルを削除するために外部から監視する必要がありますか?
java - 複数の Tomcat Authenticator バルブ
同じ Tomcat コンテキスト構成内に複数のオーセンティケーター Valve を持つことは可能ですか? を通じて複数のレルムを持つことができることは知っていますがCombinedRealm
、異なる認証方法についてはどうでしょうか?
レガシー認証ソースを引き続き使用しながら、新しい認証ソースを使用できるように Web アプリケーションを更新する必要があります。
現在、アプリケーションの context.xml にあるものは次のとおりです。
NewAuthenticator
はユーザーの要求を拒否しているように見えますが、LegacyAuthenticator
は呼び出されません。これは予想される動作だと思いますが、これを機能させる別の方法はありますか?
詳細:
- トムキャット 6.0
- 両方のカスタム システムが認証の成功/失敗を判断する HTTP 要求の値を設定し、ロールを格納するカスタム Tomcat セキュリティ プリンシパルを作成する必要があるため、認証システムを使用する必要があります。
- どちらの認証ソースもカスタムで非標準です。独自のオーセンティケーターを作成する必要があります。