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

StackOverflow https://stackoverflow.com/questions/1510051

  •  19-09-2019
  •  | 
  •  

Вопрос

В настоящее время я использую 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, но Mule неправильно инициализируется / настраивается Grizzly.Кто-нибудь запустил подобную настройку?Какую дополнительную конфигурацию мне нужно выполнить с 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 connector.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+Руководство

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top