Загрузка метода класса при запуске Apache Axis 2 - PullRequest
1 голос
/ 16 августа 2011

Мне нужно выполнить статический метод в классе Java при запуске Apache Axis 2 или что-то, что можно сделать в области приложения.

Пожалуйста, предложите.

1 Ответ

1 голос
/ 16 августа 2011

Вы можете реализовать javax.servlet.ServletContextListener и добавить его в свой дескриптор развертывания (web.xml):

<listener>
    <listener-class>your.pack.age.path.YourServletContextListener</listener-class>
</listener>

Метод contextInitialized будет вызываться сразу после загрузки контекста вашего сервлета, чтобы вы могли разместить внутри себя вызов статического метода.

Еще один способ сделать это - расширить сервлет Axis2 и выполнить там инициализацию.

В web.xml вы заменяете сервлет Axis2 своим собственным:

<servlet>
  <servlet-name>Axis2Servlet</servlet-name>
  <servlet-class>your.pack.age.path.YourAxis2Servlet</servlet-class>
  <load-on-startup>1</load-on-startup>
</servlet>

Ваш сервлет:

package your.pack.age.path;
import org.apache.axis2.transport.http.AxisServlet;

public class YourAxis2Servlet extends AxisServlet {

  public void init(ServletConfig config) throws ServletException {
    super.init(config);
    // your initialization code here
    //...
  }  
  //...
}
...