如何使用Grizzly Embedded Server for Mule和Jersey

时间:2009-10-02 14:56:46

标签: java jersey mule grizzly

我目前正在使用带有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功能,但是Mule没有被Grizzly正确初始化/配置。有没有人让这种设置运行?我需要使用JerseyTest / GrizzlyWebServer进行哪些额外配置才能正确初始化Mule?

2 个答案:

答案 0 :(得分:1)

虽然它并不理想,因为默认情况下骡子实例无法使用Grizzly,但我能够通过单独用以下方式盯着骡子来实现这一点:

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

答案 1 :(得分:1)

我不确定你想要达到的目的但你可以使用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的+指南