2012-02-16 2 views
0

내가 그래서 지정된 패키지가 @Path 주석 모든 서비스 클래스에 대한 검색됩니다출판 저지 서비스 인스턴스는

final String baseUri = "http://localhost:51000"; 
final Map<String, String> initParams = new HashMap<String, String>(); 
initParams.put("com.sun.jersey.config.property.packages", "my.rest.service"); 
SelectorThread threadSelector = GrizzlyWebContainerFactory.create(baseUri, initParams); 

다음을 수행하여 회색에 저지 서비스를 게시 할 수 있습니다 회색, 그리고 그들이 초기화됩니다. 내 질문은 미리 정의 된 저지 서비스 클래스를 지정하는 방법이 있습니까? 사용자 지정 팩토리를 통해 초기화하거나 새 MyService()를 수행하여 Grizzly 또는 다른 컨테이너에 게시 할 수 있습니까?

답변

1

GrizzlyServerFactory.create (URI u, ResourceConfig rc)를 사용하여 제공된 ResourceConfig에 싱글 톤을 추가 할 수 있습니다. 예 :

final String baseUri = "http://localhost:51000"; 
final ResourceConfig rc = new PackagesResourceConfig("my.rest.service"); 
rc.getSingletons().add(new MyInstantiatedResource()); 
SelectorThread threadSelector = GrizzlyServerFactory.create(baseUri, rc); 
1

또는 기타 용기?

저지는 추가 저지 모듈을 추가하고 SimpleServerFactory을 사용하는 경우 SimpleHttp 컨테이너도 지원합니다.

ResourceConfig config = new DefaultResourceConfig(); 
config.getSingletons().add(new MyInstantiatedResource()); 

String serverBase = "http://localhost:8080/foo"; 
Closeable server = SimpleServerFactory.create(serverBase, config);