将 Jersey 服务实例发布到 Grizzly

发布于 2025-01-05 17:05:25 字数 511 浏览 1 评论 0原文

我可以通过执行以下操作将球衣服务发布到 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 注释的服务类,并且它们将被初始化。我的问题是,有没有办法指定预初始化的球衣服务类 - 通过自定义工厂初始化,甚至只是通过执行 new MyService() 初始化 - 并将其发布到 Grizzly 或任何其他容器?

I can publish a jersey service to grizzly by doing the following

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

So the specified package will be scanned for any service classes annotated with @Path, and they will be initialized. My question is, is there any way to specify a pre-initialized jersey service class - initialied via a custom factory or even just by doing new MyService() - and publish it to Grizzly or any other container?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不喜欢何必死缠烂打 2025-01-12 17:05:25

您可以使用 GrizzlyServerFactory.create(URI u, ResourceConfig rc) 并将单例添加到提供的 ResourceConfig 中。 IE:

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

You can use GrizzlyServerFactory.create(URI u, ResourceConfig rc) and add your singletons to provided ResourceConfig. ie:

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);
我为君王 2025-01-12 17:05:25

或者任何其他容器?

Jersey 还支持 SimpleHttp 容器,如果您添加附加 jersey 模块并使用 SimpleServerFactory

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

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

or any other container?

Jersey also supports the SimpleHttp container, if you add the add-on jersey module and use SimpleServerFactory.

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

String serverBase = "http://localhost:8080/foo";
Closeable server = SimpleServerFactory.create(serverBase, config);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文