2012-04-27 44 views
2

我试图创建一个关于套接字通信的web项目,但是tomcat卡住了running.i,将服务器类放入监听器类中以在项目启动时启动。但我遇到了一个问题,它似乎春季配置XML没有启动。
我猜服务器类一直在监听tomcat运行的时间。
我该如何解决这个问题?
的web.xml套接字服务器配置在监听器类中阻止了运行的tomcat

<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> 
+0

“stock”/“stocked”是什么意思?你能否更详细地解释发生了什么(或没有发生)? – Mat 2012-04-27 07:08:11

+0

我的意思是tomcat被卡住了,对不起拼写错误 – Dumlys 2012-04-27 07:12:02

+0

您可以编辑您的帖子以纠正它,标签下面有一个“编辑”链接。但请添加更多细节。 “卡住”并没有真正描述任何东西 – Mat 2012-04-27 07:13:04

回答

1

如果在调用你的听众在同一个线程调用accept()的主代码,当然Tomcat的被封锁。在侦听器方法返回之前,Tomcat无法继续。

道德:不这样做。使用一个单独的线程。

+0

这似乎是一个正确的方式。你可以告诉我更多关于如何做的细节。如果我应该停止服务器线程一会儿? – Dumlys 2012-04-29 05:47:15

+0

@Dumlys你不应该停止服务器线程*,这就是我告诉你的。启动一个单独的线程来执行'accept()'-ing,并且每个接受的套接字都有一个。 – EJP 2012-04-29 07:11:10

+0

谢谢!我会试一试。 – Dumlys 2012-04-29 09:44:42