2014-01-05 2 views
2

Я застрял в следующем сценарии с использованием сочетания верблюда apache, веб-службы cxf и пакета osgi в apache servicemix.сценарий apache camel, веб-сервис cxf и пакет osgi в servicemix (v4.5.3)

Сценарий:

У меня есть веб-приложение весной (WA1) развернутый в котом. На той же машине у меня работает servicemix. В servicemix я уже развернул веб-службу отдыха (ws1), используя apache cxf в servicemix, также развернут еще один пакет (b1).

Теперь, я хочу получить веб-службу (ws1) из весеннего веб-приложения (с добавлением параметра в URL-адрес), после получения запроса в веб-службе (ws1), получить параметр из URL-адреса и отправить его в другой пакет (т.е. b1).

что я сделал до сих пор: реализован веб-сервис, пакет и развернуты оба. Я получаю параметр с URL-адресом каждый в каждой вещи.

Теперь, мой запрос заключается в том, как отправить параметр из веб-службы в пакет. Для этой цели я думал, что лучший верный кандидат - верный верблюд. Итак, мне нужно некоторое руководство, какой компонент я должен использовать верблюд apache.

eg: from("ws1 with parameter").to("send this parameters to bundle(b1)"). 

Как реализовать это, какой компонент, конечную точку использовать? Пожалуйста, помогите мне. А также, это правильный подход, которым я следую ???

+0

ждешь какого-то эксперта комментарий – ved

+0

Пожалуйста, руководство меня .. и не стесняйтесь задавать для любого запроса – ved

ответ

2

Как вы уже заметили, вы должны выбрать подходящий компонент для выполнения работы :). В вашем сценарии (такая же виртуальная машина - пакеты Servicemix и OSGi) я бы рекомендовал использовать Direct VM. Документация Верблюжья объясняет это совершенно ясно:

Этот компонент позволяет также подключать маршруты развернутые в различных OSGI Связки, как вы можете видеть здесь после. Даже если они работают в разных пучках, верблюд маршруты будут использовать тот же самый поток

Вы найдете пример в документации, а также.

Компонент прямой VM довольно примитивен (так довольно быстро), поэтому вам может понадобиться более продвинутый способ связи между пакетами в будущем. Например, многие люди используют JMS. В любом случае, Direct VM делает это днем ​​во многих ситуациях :).

Роберт

+0

Спасибо за вашу поддержку. Позвольте мне проверить это. – ved

+0

Хорошее предложение, я раньше не использовал direct-vm. В противном случае вы можете использовать какой-то JMS/MQ или, возможно, даже компонент конфигурации, такой как zookeeper или hazelcast. – vikingsteve

+0

Обратите внимание, что direct-vm также довольно быстр, поскольку он основан на простой агрегации, реализованной в Java. –

Смежные вопросы