Как использовать Grizzly Embedded Server для мулов и Джерси - PullRequest
3 голосов
/ 02 октября 2009

В настоящее время я использую 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);

Это отлично работает, и компоненты Джерси доступны и работают, как и ожидалось.

Сейчас я пытаюсь добавить некоторые функциональные возможности Mule к некоторым из этих вызовов на Джерси, но Grizzly неправильно инициализирует / настраивает Mule. Кто-нибудь запустил такую ​​установку? Какие дополнительные настройки мне нужно сделать с JerseyTest / GrizzlyWebServer для правильной инициализации Mule?

Ответы [ 2 ]

1 голос
/ 21 апреля 2010

Я не уверен, чего вы пытаетесь достичь, но вы можете использовать разъем Mule Jersey. Mule будет обрабатывать HTTP-запросы (вместо Grizzly), и вы будете обрабатывать Джерси без изменений.

<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's+Guide

1 голос
/ 10 октября 2009

Хотя это не идеально, потому что экземпляр мула не может использовать Grizzly по умолчанию, я смог добиться этого, запустив mule отдельно с помощью:

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