Java 侦听器类中配置的套接字服务器阻塞了tomcat的运行

Java 侦听器类中配置的套接字服务器阻塞了tomcat的运行,java,spring,serversocket,Java,Spring,Serversocket,我试图创建一个关于套接字通信的web项目,但tomcat在运行中遇到了问题。我将服务器类放在侦听器类中,以便在项目启动时启动。但是我遇到了一个问题,似乎spring配置xml没有启动。 我猜服务器类一直在监听,这会阻塞tomcat的运行。 我如何解决这个问题? web.xml的主代码 <listener> <listener-class>socket.ServerListener</listener-class> </listener>

我试图创建一个关于套接字通信的web项目,但tomcat在运行中遇到了问题。我将服务器类放在侦听器类中,以便在项目启动时启动。但是我遇到了一个问题,似乎spring配置xml没有启动。
我猜服务器类一直在监听,这会阻塞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>

socket.ServerListener
上下文
org.springframework.web.context.ContextLoaderServlet
1.
上下文配置位置
/WEB-INF/applicationContext.xml
如果在调用侦听器的同一线程中调用accept(),Tomcat当然会被阻止。在侦听器方法返回之前,Tomcat无法继续


寓意:不要那样做。使用单独的线程。

你说的“库存”/“库存”是什么意思?你能更准确地解释一下发生了什么(或没有发生)?我是说tomcat被卡住了,很抱歉拼写错误。你可以编辑你的帖子来纠正它,标签下面有一个“编辑”链接。但请补充更多细节。“卡住了”没有真正描述任何东西你是否尝试过在调试模式下启动tomcat,在类中设置断点,并检查类中是否有一些初始化代码没有完成?我尝试过调试模式。结果是sessionFactory总是空的。所以我猜spring配置xml没有启动。看起来这是一个正确的方法。你能告诉我更多关于如何做的细节吗?如果我应该停止服务器线程一会儿吗?@Dumlys你根本不应该停止服务器线程,这就是我要告诉你的。启动一个单独的线程来执行
accept()
-ing,并为每个已接受的套接字启动另一个线程。