Как использовать встроенный сервер Grizzly для Mule и Jersey

В настоящее время я использую 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 к некоторым из этих вызовов из Джерси, но Mule неправильно инициализируется/настраивается Grizzly. У кого-нибудь заработала такая установка? Какую дополнительную настройку мне нужно выполнить для JerseyTest/GrizzlyWebServer, чтобы он правильно инициализировал Mule?


person Tim    schedule 02.10.2009    source источник


Ответы (2)


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

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

Я не уверен, чего вы пытаетесь достичь, но вы можете использовать разъем 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+ Руководство

person dmossakowski    schedule 20.04.2010