Tomcat で CometD を使用しています。Oort を実行しようとしましたが、2 つの OORT ノード間の通知に問題があるようです。
静的を試しましたが、MultiCastConfigServlet に切り替えて、ばかげた設定エラーが発生していないことを確認しました。
web.xml のセットアップは次のとおりです。
<servlet>
<servlet-name>cometd</servlet-name>
<servlet-class>org.cometd.server.CometdServlet</servlet-class>
<init-param>
<param-name>transports</param-name>
<param-value>org.cometd.server.transport.JSONTransport</param-value>
</init-param>
<init-param>
<param-name>allowedTransports</param-name>
<param-value>JSONTransport</param-value>
</init-param>
<init-param>
<param-name>timeout</param-name>
<param-value>10000</param-value>
</init-param>
<init-param>
<param-name>jsonContext</param-name>
<param-value>org.cometd.server.JacksonJSONContextServer</param-value>
</init-param>
<init-param>
<param-name>maxInterval</param-name>
<param-value>10000</param-value>
</init-param>
<init-param>
<param-name>long-polling.multiSessionInterval</param-name>
<param-value>2000</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>
<servlet-mapping>
<servlet-name>cometd</servlet-name>
<url-pattern>/cometd/*</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>oort</servlet-name>
<servlet-class>org.cometd.oort.OortMulticastConfigServlet</servlet-class>
<load-on-startup>2</load-on-startup>
<init-param>
<param-name>oort.url</param-name>
<param-value>http://localhost:8080/context/cometd</param-value>
</init-param>
<init-param>
<param-name>oort.channels</param-name>
<param-value>/appchannel/**,/seti/**</param-value>
</init-param>
</servlet>
<servlet>
<servlet-name>Seti</servlet-name>
<servlet-class>org.cometd.oort.SetiServlet</servlet-class>
<load-on-startup>3</load-on-startup>
<async-supported>true</async-supported>
</servlet>
<servlet>
<servlet-name>initializer</servlet-name>
<servlet- class>com.company.server.bayeux.BayeuxInitializerServlet</servlet-class>
<load-on-startup>4</load-on-startup>
<async-supported>true</async-supported>
</servlet>
seti を使用して、ユーザーをセッションに関連付けます。この関連付けは、oort を介してすべての oot ノードと同期する必要があります。
私の意見では、新しい OOrt ノードが機能するようになった場合、Oort.CometListener cometJoined() をトリガーする必要があります。しかし、このリスナー メソッドが呼び出されることはありません。
これが tomcat の問題なのか、プログラム エラーなのかはわかりません。