簡體   English   中英

將Jersey服務實例發布到Grizzly

[英]Publishing Jersey service instance to Grizzly

我可以通過執行以下操作來發布球衣服務

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);

因此,將掃描指定的包以查找@Path注釋的任何服務類,並將它們初始化。 我的問題是,有什么方法可以指定預先初始化的球衣服務類-通過自定義工廠初始化,甚至只是通過執行新的MyService()-並將其發布到Grizzly或任何其他容器?

您可以使用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);

或任何其他容器?

如果您添加附加球衣模塊並使用SimpleServerFactory ,則Jersey也支持SimpleHttp容器。

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM