【问题标题】:How to Use Grizzly Embedded Server for Mule as Well as Jersey如何为 Mule 和 Jersey 使用 Grizzly 嵌入式服务器
【发布时间】:2009-10-02 14:56:45
【问题描述】:

我目前正在使用带有 Grizzly 嵌入式服务器的 JerseyTest 来测试一些代码。我做了一些非常简单的配置来将它指向正确的资源:

Map<String, String> initParams = new HashMap<String, String>();
initParams.put("com.sun.jersey.config.property.packages", "com.sample.service");
ApplicationDescriptor appDescriptor = new ApplicationDescriptor();
appDescriptor.setServletInitParams(initParams);
super.setupTestEnvironment(appDescriptor);

这工作正常,并且 Jersey 组件可用并按预期工作。

我现在正尝试向其中一些 Jersey 调用添加一些 Mule 功能,但 Grizzly 没有正确初始化/配置 Mule。有没有人运行过这种设置?我需要对 JerseyTest/GrizzlyWebServer 进行哪些额外配置才能正确初始化 Mule?

【问题讨论】:

    标签: java jersey mule grizzly


    【解决方案1】:

    虽然它并不理想,因为 mule 实例默认无法使用 Grizzly,但我可以通过单独盯着 mule 来实现此功能:

        DefaultMuleContextFactory muleContextFactory = new DefaultMuleContextFactory();
        SpringXmlConfigurationBuilder configBuilder = new SpringXmlConfigurationBuilder("mule-config.xml");
        muleContext = muleContextFactory.createMuleContext(configBuilder);
        muleContext.start();
    

    【讨论】:

      【解决方案2】:

      我不确定您想要实现什么,但您可以使用 Mule Jersey 连接器。 Mule 将处理 HTTP 请求(而不是 Grizzly),您将保持 Jersey 处理不变。

      <service name="helloWorldResource">
               <inbound>
                  <inbound-endpoint address="jersey:http://localhost:63081/" synchronous="true"/>
               </inbound>
      <component class="org.mule.transport.jersey.HelloWorldResource"/>
      </service>
      

      http://www.mulesoft.org/display/JERSEY/User的+指南

      【讨论】:

        猜你喜欢
        • 2013-12-28
        • 2016-09-12
        • 1970-01-01
        • 2013-11-23
        • 2010-11-29
        • 1970-01-01
        • 1970-01-01
        • 2015-04-12
        • 2014-06-12
        相关资源
        最近更新 更多