首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >灰色JAX-WS和JAX-RS

灰色JAX-WS和JAX-RS
EN

Stack Overflow用户
提问于 2016-01-11 12:14:59
回答 1查看 421关注 0票数 0

我用灰熊创建了两个项目。

一个是给的,一个是的。

让jax-rs运行的代码如下所示:

代码语言:javascript
复制
    String BASE_URI = "http://localhost:8080/myapp/";
    ResourceConfig rc = new ResourceConfig().packages("za.co.quinn.grizzly.rest");
    HttpServer server = GrizzlyHttpServerFactory.createHttpServer(URI.create(BASE_URI), rc);

运行jax-ws的代码如下所示:

代码语言:javascript
复制
    HttpServer httpServer = new HttpServer();
    ServerConfiguration configuration = httpServer.getServerConfiguration();
    configuration.addHttpHandler(new JaxwsHandler(new AddService()), "/add");
    httpServer.addListener(new NetworkListener("jaxws-listener", "0.0.0.0", 8080));
    httpServer.start();

我想把这两者结合起来,让jax-ws和jax-rs在同一个项目中工作。

如果有一个JaxrsHandler就好了,我可以这样添加:

代码语言:javascript
复制
configuration.addHttpHandler(new JaxrsHandler(new AddAnotherService()), "/addAnother");

但不存在JaxrsHandler。

我还有别的办法可以把这两者结合起来吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-16 09:14:40

这解决了我的问题:

代码语言:javascript
复制
    Injector injector = Guice.createInjector(new JpaPersistModule("myJpaUnit"),
            new ServletModule() {
                @Override
                protected void configureServlets() {
                    bind(new TypeLiteral<ExerciseDao>() {
                    }).to(ExerciseDaoImpl.class);
                }
            });

    ResourceConfig rc = new PackagesResourceConfig("za.co.quinn.ws");
    IoCComponentProviderFactory ioc = new GuiceComponentProviderFactory(rc, injector);

    PersistInitializer initializer = injector.getInstance(PersistInitializer.class);
    HttpServer server = GrizzlyServerFactory.createHttpServer(BASE_URI, rc, ioc);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34721341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档