Java 如何为Mule和Jersey使用Grizzly嵌入式服务器

Java 如何为Mule和Jersey使用Grizzly嵌入式服务器,java,jersey,mule,grizzly,Java,Jersey,Mule,Grizzly,我目前正在使用JerseyTest和Grizzly嵌入式服务器来测试一些代码。我做了一些非常简单的配置,将其指向适当的资源: Map<String, String> initParams = new HashMap<String, String>(); initParams.put("com.sun.jersey.config.property.packages", "com.sample.service"); ApplicationDescriptor appDescr

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

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);
Map initParams=new HashMap();
initParams.put(“com.sun.jersey.config.property.packages”、“com.sample.service”);
ApplicationDescriptor appDescriptor=新的ApplicationDescriptor();
appDescriptor.setServletInitParams(initParams);
超级设置测试环境(appDescriptor);
这工作正常,球衣组件可用,工作正常


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

虽然这并不理想,因为Mule实例在默认情况下无法使用Grizzly,但我可以通过单独启动Mule来实现这一点:

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

我不确定你想达到什么目的,但你可以使用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>

s+指南