Сколько очередей Apache Camel мне нужно? - PullRequest
1 голос
/ 07 декабря 2011

У меня есть система с 15 сервисами.Я новичок в верблюде и JMS Remoting.С 15 сервисами я думал, что у меня должна быть одна входящая очередь на Сервис.

Однако кажется, что очередь может привязываться только к одному интерфейсу:

org.apache.camel.example.server.Treble implements two interfaces     
org.apache.camel.example.server.Multiplier and org.apache.camel.example.server.Divider. I bind the two interfaces to the same JMS queue: jms:queue:numbers

<bean id="multiplier" class="org.apache.camel.spring.remoting.CamelServiceExporter">
          <property name="uri" value="jms:queue:numbers" />
          <property name="service">
                 <bean class="org.apache.camel.example.server.Treble" />
          </property>
          <property name="serviceInterface"  value="org.apache.camel.example.server.Multiplier" />
   </bean>
<bean id="divider" class="org.apache.camel.spring.remoting.CamelServiceExporter">
          <property name="uri" value="jms:queue:numbers" />
          <property name="service">
                 <bean class="org.apache.camel.example.server.Treble" />
          </property>
          <property name="serviceInterface" value="org.apache.camel.example.server.Divider" />
   </bean>

Я обнаружил, что работает только первое связывание (org.apache.camel.example.server.Multiplier).На стороне клиента я получаю прокси-сервер org.apache.camel.example.server.Divider и вызываю разделяем ().Сообщение может достигнуть серверной части.Но когда Camel пытается обработать сообщение, верблюд только кэширует прокси первой привязки интерфейса к jms: queue: numbers.Так что не удалось обработать сообщение и выдать исключение

Так значит ли это, что если я хочу использовать удаленное взаимодействие jms с верблюдом, мне понадобится 2 очереди (вход / выход) / класс?Это дорого?

1 Ответ

1 голос
/ 07 декабря 2011

Если вам нужны все ваши сервисы для использования одной и той же входящей конечной точки, используйте маршрутизатор http://camel.apache.org/dynamic-router.html

...