2017-01-26 6 views
0

ApplicationEventListener#onEventは呼び出されません。何が間違っている可能性があります。リソース設定クラスが使用されており、私はAPIを呼び出すことができます。ジャージ2 ApplicationEventListener onEvent()が呼び出されていない

<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>com.MyApplication</param-value> 
    </init-param> 
</servlet> 

<servlet-mapping> 
    <servlet-name>MyApplication</servlet-name> 
    <url-pattern>/*</url-pattern> 
</servlet-mapping> 

アプリケーション構成:

public class MyApplication extends ResourceConfig{ 
    @NameBinding 
    @Retention(RetentionPolicy.RUNTIME) 
    public @interface Secured {} 

    public MyApplication(){ 

     register(com.UserLogin.class); 

     register(com.MyApplicationEventListener.class); 
    } 
} 
+0

いいですね。あなたは[この要点](https://gist.github.com/psamsotha/d5de14c76eed39e4585444f6e9d8648b) –

+0

@peeskilletでテストを見ることができます。まったく同じことです。私はSysoutステートメントがEclipseIDEコンソールに表示されることを期待しています。これはtomcat server.butを開始/停止しているときにnone.Anythingできますか? – zee

+1

リクエストを行わない限り、Jerseyは完全に起動されないため、サーバーの起動と停止だけでリスナーが呼び出されることはありません。サーブレットの設定については、web.xmlの ' 1'を設定する必要があります。これにより、サーバーが起動するときにJerseyが完全にロードされます –

答えて

0

あなたが要求しない限り、ジャージーは、完全には開始されませんので、リスナーは、単にサーバを起動し、停止することによって呼び出されることはありません。サーブレット設定用にweb.xmlに<load-on-startup>1</load-on-startup>を設定する必要があります。これにより、サーバーの起動時にJerseyが完全にロードされます。

関連する問題