Java WebService/SLSB是JBossWS中的单例吗?

Java WebService/SLSB是JBossWS中的单例吗?,java,jbossws,Java,Jbossws,我在类上使用JAX-WS“WebService”注释将其“WebMethod”作为web服务公开。该类被表示为处理对“/MyService”的调用的servlet类 作为一个servlet,我希望这个类的一个实例只创建一次,基本上是一个单例。我在这个类的构造函数中有代码来创建EntityManagerFactory,以便分配给成员变量。我看到的是,对web服务的每个客户端请求都会调用构造函数。这不好 有人知道这里发生了什么吗?有人明白我想问什么吗?:) 谢谢。您的主题提到了一个SLSB,我假设它

我在类上使用JAX-WS“WebService”注释将其“WebMethod”作为web服务公开。该类被表示为处理对“/MyService”的调用的servlet类

作为一个servlet,我希望这个类的一个实例只创建一次,基本上是一个单例。我在这个类的构造函数中有代码来创建EntityManagerFactory,以便分配给成员变量。我看到的是,对web服务的每个客户端请求都会调用构造函数。这不好

有人知道这里发生了什么吗?有人明白我想问什么吗?:)


谢谢。

您的主题提到了一个SLSB,我假设它是“无状态会话Bean”。在JavaEE5中,您可以从无状态会话Bean创建web服务,也可以对类进行注释,当在兼容的web容器中部署时,运行时将其发布为web服务

在这两种情况下,它们本身都不是Servlet,也不遵循Servlet生命周期

作为一个servlet,我希望这个类的一个实例只创建一次,基本上是一个单例

这取决于集装箱。你不能依赖它


创建一个真正的单例(一个简单的Java类),它完成所有繁重的工作,并从servlet调用它

有趣。非常感谢你。顺便问一下,你怎么知道的我找不到这方面的好文件。。。这基本上是根据JSR中的信息得出的吗?我知道这一点,因为我没有看到任何东西告诉我它们是servlet。有些实现可能会使用Servlet来实现它们,但这只是一个实现细节,而不是规范的一部分。奇怪的是,您将其连接到web部署描述符中,就像它是一个Servlet一样(直接连接到包含@WebService类名称的“Servlet类”元素)…这是web容器用于启动web服务的实际调度程序,但它不会使web服务本身成为实际的Servlet。而且,在无状态会话Bean的情况下,没有连接的“dispatcher”,容器会为您这样做。现在,很明显,在一个普通的web容器中,某个地方可能涉及到一个servlet,不使用它是很愚蠢的,但这并不能使web服务本身成为一个真正的servlet,甚至不能真正与之相关。当然,在J2SE中,没有容器或servlet。只有一个HTTP侦听器和一个调度程序。此邮件中没有可用字符。