【问题标题】:Initializing Webservice初始化 Web 服务
【发布时间】:2012-03-16 00:28:50
【问题描述】:

我使用 netbeans 和 jboss 4.0.5 创建了一个 jax-ws Webservice。

我正在尝试在部署后立即加载一些文件。

我已经读到我必须将注释 @PostConstruct 与方法 public void init() 一起使用。

这里的问题是我试图打印一些字符串来测试它是否工作,但它永远不会到达那个 init 函数。

谁能给点建议?

【问题讨论】:

  • 您确定将 WS 部署为 EJB3 吗?嗯,应该不是EJB,但是AS应该支持JSR-181:JBossWSsupports that
  • 嗨,谢谢。我已经通过 Netbeans(使用 jax-ws)创建了 web 服务,我的 jboss 4.0.5 也带有 JBossWS。问题是我创建了一个非常简单的 Web 服务,它有一个方法“init”,带有 @PostCONstruct 注释,其目的是打印“来自 init 方法的 WS”。我认为我没有部署为 EJB3。你能给我更多的建议吗?你也想让我发布完整的代码。谢谢
  • 也许我误导了你:这些注释是 JSR-109。我知道@PostConstruct can be handled by Spring,在您的情况下,相关功能是在JBWS-2268 中实现的。
  • 我已经解决了。我刚刚添加了 com.sun.xml.ws.transport.http.servlet.WSServletcom.sun.xml.ws.transport.http.servlet。 WSServletContextListener 到 web.xml,我还创建了归档 sun-jaxws.xml 已经按顺序完成了所有这些,现在每当我部署 web 服务时,它都会运行带有 @PostConstruct 注释的方法继承链接 @987654325 @抱歉是西班牙语

标签: web-services jax-ws


【解决方案1】:

你也可以像这样创建一个新类:

@WebListener
public class Init implements ServletContextListener {

    @Override
    public final void contextInitialized(final ServletContextEvent sce) {
         System.out.println("Printed only on deployment");
    }

    @Override
    public final void contextDestroyed(final ServletContextEvent sce) {

    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-24
    • 1970-01-01
    • 2015-09-15
    相关资源
    最近更新 更多