問題タブ [tomcat9]
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.
spring-boot - Tomcat が Artemis MQ との通信に失敗する
JMS を使用してメッセージの遅延をスケジュールしたいと考えていました。そのために、Artemis MQ で JMS 2.0 を使用しており、メッセージはコンパイル時に正常にスケジュールされますが、Tomcat にデプロイしてメッセージを遅延して送信しようとすると、次のように表示されます。
java.lang.IllegalStateException: setDeliveryDelay には JMS 2.0 が必要です
Tomcat が、セットアップした Artemis サーバーと正しく通信できないと推測しています。したがって、システムには Tomcat と Artemis という 2 つのサーバーがセットアップされています。Tomcat が Artemis と通信できないためでしょうか? もしそうなら、なぜ私のSpring Boot組み込みTomcatサーバーはArtemisを検出するのに、私のスタンドアロンTomcatは検出しないのですか?
JMS メッセージ送信者のソース コードは次のとおりです。
私pom.xml
は:
私application.properties
は:
debugging - Apache Tomcat/9.0.0.M22 で SSL ハンドシェイクのデバッグが機能しない
Tomcat (OS: MS Windows) で SSL ハンドシェイクをデバッグする必要があるため、web にある指示に従い、setenv.bat の次の行でそれを有効にしました。
「JAVA_OPTS=%JAVA_OPTS% -Djavax.net.debug=ssl」を設定します
Apache Tomcat/9.0.0.M21 ではすべて正常に動作します。ブラウザでページを開くと、コマンドラインでハンドシェイクを確認できます。
Apache Tomcat/9.0.0.M22 では、起動時に読み込まれている証明書しか確認できませんが、その後ブラウザ経由でサーバーを呼び出すと、コマンドラインに出力が生成されません。
私が見つけた唯一の違いは、Protocolhandler がこれらのバージョン間で異なることです。
- Apache Tomcat/9.0.0.M21 は ProtocolHandler ["https-jsse-nio-8083"] を使用します
- Apache Tomcat/9.0.0.M22 は ProtocolHandler ["https-openssl-nio-8083"] を使用します
SSL ハンドシェイク デバッグを有効にするために、他に何かしなければならないことはありますか?
これは、server.xml で構成された私のコネクタです。