【问题标题】:Glassfish 4.1invoke method on the server's startup?Glassfish 4.1 服务器启动时的invoke 方法?
【发布时间】:2016-08-30 10:32:45
【问题描述】:

我正在使用 Glassfish 4.1 部署一个使用 jersey 2.23.2 的 RESTful web 应用程序。

我要做的是在服务器启动时运行一个方法

我的 web.xml

<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
    <display-name>XYZ</display-name>
    <servlet>
      <servlet-name>MyApplication</servlet-name>
      <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
      <init-param>
          <param-name>javax.ws.rs.Application</param-name>
          <param-value>MyApplication</param-value>
      </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>MyApplication</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>

</web-app> 

和 MyApplication.java

import javax.annotation.PostConstruct;
import org.glassfish.jersey.server.ResourceConfig;

public class MyApplication extends ResourceConfig {
    public MyApplication() {
        packages("services");
    }

    @PostConstruct
    public void post_construct () {
        //The method I want to run
    }
}

【问题讨论】:

    标签: java jersey glassfish jersey-2.0 glassfish-4.1


    【解决方案1】:

    我猜你的解决方案不起作用,因为你的类不是由容器管理的,因此 @PostConstruct 没有得到评估。

    您可以尝试以下方法:

    import javax.annotation.PostConstruct;
    import org.glassfish.jersey.server.ResourceConfig;
    
    public class MyApplication extends ResourceConfig {
        public MyApplication() {
            packages("services");
            post_construct();   // <-- here is the call
        }
    
        @PostConstruct
        public void post_construct () {
            //The method I want to run
        }
    }
    

    如果这不起作用,这是一个“真正的”解决方案:

    @Singleton
    @Startup
    public class InitializerBean {
    
       @PostConstruct
       public void onStartup() {
            // do your method-call here
       }
    
    }
    

    另请参阅:

    【讨论】:

      猜你喜欢
      • 2014-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多