我目前正在使用带有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?
答案 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>