我正在 Heroku 上实现一个 Java RESTful 网络服务。目前我的入口点看起来像
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" ) + "/";
}
}
其中initParms
包含托管的 RESTful 服务。我知道 GrizzlyWebContainerFactory.create() 返回 ( ) 的一个实例ServletContainer
,SelectorThread
但是我将如何对返回的进行多线程处理threadSelector
,以便多个SelectorThread
's 可以处理一个进程下的传入请求(又名 web dyno)?原因是为了提高单个测功机在处理请求时的性能。
任何建议表示赞赏!谢谢!