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

3
Tim 2 Окт 2009 в 18:56

2 ответа

Лучший ответ

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

    DefaultMuleContextFactory muleContextFactory = new DefaultMuleContextFactory();
    SpringXmlConfigurationBuilder configBuilder = new SpringXmlConfigurationBuilder("mule-config.xml");
    muleContext = muleContextFactory.createMuleContext(configBuilder);
    muleContext.start();
1
Tim 10 Окт 2009 в 02:09

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

1
dmossakowski 21 Апр 2010 в 03:46