2017-07-13 18 views
1

この(servlet response time is slow for first request)の質問web.xmlのload-on-startupパラメータを使用して、起動時にサービスクラスを作成できます。これは最初のクライアント要求ではなく、クライアントの最初の応答時間が向上します。Jersey + Grizzly load-on-startup web.xmlなし

しかし、私はGrizzly + Jerseyを使用していますが、どのようにこの動作をgrizzlyで設定できますか?これは完全に不可能ですか?その後、本格的なJava EEアプリケーションサーバーに

EDITを使用せずにグリズリーに代わる何でしょう:メインメインメソッドはこれです:事前に

public static void main(String... args){ 
    //Packages which contain service classes 
    final ResourceConfig rc = new ResourceConfig() 
      .packages("de.danielr1996.flamingoapi.services"); 

    //Logging Aktivieren 
    rc.register(new LoggingFilter()); 

    //Dependency Injection konfigurieren 
    rc.register(new DependencyBinder()); 

    //Jackson hinzufügen 
    rc.register(JacksonFeature.class); 

    //Datenbank initialisieren 
    DatabaseUtil.getEntityManagerFactory(); 

    // Server erstellen 
    return GrizzlyHttpServerFactory.createHttpServer(URI.create(BASE_URI), rc); 
} 

おかげ

答えて

0
 ServletAdapter adapter =new ServletAdapter(); 
     ... 
     adapter.setProperty("load-on-startup", 1); 

UPDATE

Factoryから作成されたインスタンスを設定する方法は今はありません。私はそれがあなたに複雑な設定を提供することを許さないと仮定します。 しかし、あなたは手動でこの方法をサーバーを作成することができます

GrizzlyWebServer ws = new GrizzlyWebServer(80); 
ServletAdapter adapter = new ServletAdapter(); 

次にこれを入れない(私の主な方法に問題がある場合は、アダプタJavadocs

adapter.setContextPath("...");  
adapter.setRootFolder("..."); 
adapter.setHandleStaticResources(true); 
adapter.setProperty("load-on-startup","1");                

がサーバに

ws.addGrizzlyAdapter(adapter, new String[]{"/uri"}); 
+0

をアダプタを追加設定今)? – danielr1996

+0

@ danielr1996更新 – fg78nc

関連する問題