我创建了简单的 jax-ws(将 Java 6 类添加到 Web 服务)服务并将其部署在 glassfish v3 上。 web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app>
<servlet>
<servlet-name>MyServiceName</servlet-name>
<description>Blablabla</description>
<servlet-class>com.foo-bar.somepackage.TheService</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>MyServiceName</servlet-name>
<url-pattern>/MyServiceName</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
</web-app>
war中没有sun-jaxws.xml。 该服务工作正常,但我有 2 个问题: 我正在使用 apache 通用配置包来读取我的配置,所以我有调用配置内容的 init 函数。 1. 如何为 jaxws 服务配置 init 方法(例如我可以为 servlet 做的) 2. 启动参数加载不影响服务,我看到对于再次调用的每个请求 init 函数(和 c-tor)。如何设置服务范围?
非常感谢,
最佳答案
How can I configure init method for jaxws service (like i can do for the servlets for example)
JAX-WS 端点,包括 Web 和 EJB,可以有可选的生命周期方法,如果存在则自动调用。任何方法都可以作为具有正确注释的生命周期方法:
@PostConstruct
- 在实现类开始响应 Web 服务客户端之前由容器调用。@PreDestroy
- 在端点从操作中移除之前由容器调用
因此,使用 @PostConstruct
注释您的 init()
方法应该可以解决问题。
the load on startup parameter is not affecting the service, I see that for every request init function called again
首先尝试使用建议的注解。如果您仍然遇到意外行为,请发布您的代码。
关于java - glassfish3 初始化方法上的 jax-ws,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2544925/