2

ソケット通信に関するWebプロジェクトを作成しようとしましたが、Tomcatが実行中にスタックしました。プロジェクトの開始時に開始するリスナークラスにサーバークラスを配置しました。しかし、Springconfigxmlが開始されなかったように見えるという問題が発生します。
サーバークラスは、実行中のTomcatをブロックしている間ずっとリッスンし続けていると思います。
どうすればこの問題を解決できますか?
web.xmlのメインコード

 <listener>
    <listener-class>socket.ServerListener</listener-class>
</listener>
<servlet>
    <servlet-name>context</servlet-name>
    <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
4

1 に答える 1

1

リスナーを呼び出したのと同じスレッドで accept() を呼び出している場合、もちろん Tomcat はブロックされます。リスナーメソッドが戻るまで、Tomcat は続行できません。

道徳:それをしないでください。別のスレッドを使用します。

于 2012-04-27T10:25:15.707 に答える