【发布时间】:2011-08-09 23:27:08
【问题描述】:
已编辑:在相信这是 NetBeans 7.0 编辑器错误之后。它仍然可以编译并且可以部署。
我想将 @WebService;@Stateless 实现的 Web 服务转换为 @Singleton bean,但是当我用 @Singleton 注释替换 @WebService 时...我在 IDE 编辑器中得到下面的图像
当然,当我做一些愚蠢的事情,比如同时拥有 @WebService 和 @Stateless 并部署在 glassfish 中时,我会得到:
严重错误:注释处理失败...
下面是一个链接(还有更多,但我现在仅限于两个链接),它让我相信单例 bean 可以按照我尝试使用它们的方式使用。
http://download.oracle.com/javaee/6/tutorial/doc/gipjg.html
“单例会话 bean 提供与无状态会话 bean 类似的功能,但不同之处在于每个应用程序只有一个单例会话 bean,而不是无状态会话 bean 池,其中任何一个都可以响应客户端请求。与无状态会话 bean 一样,单例会话 bean 可以实现 Web 服务端点。”
此链接可能暗示编译器中存在已在 jboss 环境中修复的错误。我不确定这个问题是否相关,并且很想听听有经验的用户的想法。 ;)
https://issues.jboss.org/browse/EJBTHREE-2161
这是 glassfish 3.1 的输出
INFO:关闭 Metro 监控根目录: amx:pp=/mon/server-mon[server],type=WSEndpoint,name=soco.ws.bb.bearBearWS-BearBearImplPort 信息:EJB StateBean 的可移植 JNDI 名称: [java:global/BearBearService/StateBean!soco.ws.bb.StateBean, java:global/BearBearService/StateBean] INFO: Metro 监控 rootname 成功设置为: amx:pp=/mon/server-mon[server],type=WSEndpoint,name=soco.ws.bb.bearBearWS-BearBearImplPort 警告:容器 org.glassfish.webservices.JAXWSContainer@249ef1e 不支持类 com.sun.xml.ws.api.server.Module INFO: Portable EJB BearBearImpl 的 JNDI 名称: [java:global/BearBearService/BearBearImpl!soco.ws.bb.BearBearWS, java:global/BearBearService/BearBearImpl] 信息:WS00019:EJB 端点 部署
这是 glassfish 3.0.1 的输出
INFO:Metro 监控 rooname 成功设置为: amx:pp=/mon/server-mon[服务器],类型=WSEndpoint, 名称=AppleImplService-AppleImplPort 警告:容器 org.glassfish.webservices.JAXWSContainer@191f81e 不支持类 com.sun.xml.ws.api.server.Module INFO:EJB 的可移植 JNDI 名称 苹果实施" [java:global/AppleService/AppleImpl!com.ws.srv.MyService,java:global/AppleService/AppleImpl] 信息:WS00019:EJB 端点部署 AppleService 监听 地址http://localhost:8080/AppleImplService/AppleImpl INFO: AppleService 在 438 毫秒内成功部署
【问题讨论】:
-
Glassfish 的版本以及部署时 server.log 显示的内容。
-
奇怪的是,我在当前系统上找不到应该使用 GF3.1 的 server.log 文件。 domain1/log 文件夹是空的。我在描述中更新了服务器的输出窗口。
-
如果你能找到日志,我打赌你会在里面找到线索。
-
我不确定您的警告是否相关。当您更改注释时它会消失吗?查看java.net/jira/browse/GLASSFISH-9949
-
更新了日志内容的帖子,它只是反映了 ide 输出控制台的输出。奇怪的是,我不再看到“严重错误:注释处理失败”。我想知道这种组合是否可以接受,但 IDE 会在编辑器中将其标记为编译错误。我做了一个干净的构建,它似乎构建了两个错误。
标签: java web-services glassfish singleton