java - glassfish3 初始化方法上的 jax-ws

标签 java web-services glassfish jax-ws

我创建了简单的 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/

相关文章:

server - 如何将自定义JNDI资源添加到wildfly-10中,类似于glassfish服务器的<custom-resource>?

java - 查找 log4j 日志记录语句的来源/起源?

java - 如何在不同的资源中重用REST方法?

java - 拆分涉及两个特殊字符的字符串

java - 如何使用rapidminer添加新算子的参数配置?

java - NullPointerException - Java - WCF 之上的 Web 服务客户端(使用 WS-Security)

c# - 浏览器可以访问 web 服务,但我的 C# 应用程序获取 "Could not establish trust relationship"

java - Apache CXF 是否支持基于 JAX-RPC 的 Web 服务(SOAP)

java - 使用 Java 8 流映射函数来执行长时间运行的任务