1

GlassfishでJavaWebサービスを実行しようとしています。いくつかの変数を設定し、Glassfish環境自体からいくつかの情報を取得する初期化コードがいくつかあります。@WebServiceクラス内の静的初期化子にそのコードがありますが、このコードの呼び出しが早すぎるようです。WebServiceエンドポイントがデプロイされるとすぐに実行されますが、Webサービス全体が正常にデプロイされたら実行する必要があります。 。

コードをWebServiceクラスのコンストラクターに移動しようとしましたが、そのコードは、テスターのWebページにアクセスし、Webメソッドを実行するためのデータを送信したときにのみ実行されました。

Webサービスのデプロイ全体が完了したらすぐに実行される初期化コードを設定する方法はありますか?

4

2 に答える 2

6

オプション1: Glassfishにはライフサイクルモジュールがあります

オプション2:コンテキストがロードされたときにトリガーされるServletContextListener をコーディングする機能もあります。

public class MyServlet implements ServletContextListener {

  public void contextInitialized(ServletContextEvent e) {
         // implementation code
  }

  public void contextDestroyed(ServletContextEvent e) {
         // implementation code
  }
}

参照:

于 2012-05-15T16:12:16.663 に答える
0

はい@JaynathanLeung、soapUIを使用すると、Webサービスをデプロイし、入力データと出力データを使用してプログラミングをテストできます。お役に立てば幸いです。:)

于 2012-05-15T15:08:44.510 に答える