2012-11-03 2 views
0

나는 Heroku에서 Java RESTful 웹 서비스를 구현 중입니다. initParms이 편안하고 서비스가 호스팅되는 포함하는 경우 현재 내 진입 점그리즐리에서 멀티 스레드하는 방법

public class Main 
{ 

    public static final String BASE_URI = getBaseURI(); 

    public static void main(String[] args) throws Exception 
    { 
     final Map<String, String> initParams = new HashMap<String, String>(); 
     initParams.put("com.sun.jersey.config.property.packages", "services.contracts"); 
     initParams.put("com.sun.jersey.api.json.POJOMappingFeature", "true"); 

     System.out.println("Starting grizzly..."); 
     SelectorThread threadSelector = 
     GrizzlyWebContainerFactory.create(BASE_URI, initParams); 

     System.out.println(String.format("Jersey started with WADL available at %sapplication.wadl.", BASE_URI, 
       BASE_URI)); 
    } 

    private static String getBaseURI() 
    { 
     return "http://localhost:" + (System.getenv("PORT") != null ? System.getenv("PORT") : "9998") + "/"; 
    } 

} 

것 같습니다. GrizzlyWebContainerFactory.create()가 ServletContainer (SelectorThread)의 인스턴스를 반환하지만, 복수 SelectorThread이 하나의 프로세스 (일명 웹 dyno)에서 들어오는 요청을 처리 할 수 ​​있도록 반환 된 threadSelector을 어떻게 멀티 스레드 할 수 있습니까? 그 이유는 요청을 처리 할 때 단일 dyno의 성능을 향상시키기 위해서입니다.

의견을 보내 주시면 감사하겠습니다. 감사!

답변

0

당신이 호출 할 수

SelectorThread.setSelectorReadThreadsCount(int)