如何在无状态会话bean中创建多线程?

时间:2012-11-08 11:21:57

标签: java ejb-3.0

我使用JAXWS创建了Webservice,并将其托管为jboss6中的无状态会话bean。 以下是Web服务代码:

@Stateless
@WebService(serviceName = "CommonSmsServices", name = "CommonSmsServices", wsdlLocation = "META-INF/wsdl/CommonSmsServices.wsdl", endpointInterface = "com.sms.webservice.common.CommonServices")
public class CommonServicesImpl implements CommonServicesLocal,CommonServicesRemote {
      //.....
      // methods
      //.....

}

单个Http会话可以正常工作。现在我在运行多个会话时遇到问题,响应时间变得非常慢。 我为你的内存和线程采样做了YourKit porfiling。内存利用率看起来不错但在线程部分,它显示一个htpp线程正在等待其他线程完成。

我还浏览了Java EE会话bean文档。它说会话bean是单线程的。会话bean是否存在同时处理多个Http会话的性能问题?

JBoss AS 6中是否有方法或配置来提高我的Web服务性能?

1 个答案:

答案 0 :(得分:1)

在EJB(包括无状态的)中,容器支持多线程。如果您希望将数据存储在不同的调用之间,则可能应该使用Statefull bean;这也支持多线程。

相关问题