Может ли Apache Camel подключиться к ActivationSpec в WebSphere? - PullRequest
2 голосов
/ 12 сентября 2011

В прошлом мне удавалось успешно подключить Camel к очереди сообщений, предоставляемой в качестве ресурса JNDI в WebSphere [1]. Это работает с фабрикой соединений. Отлично.

Теперь у меня сегодня ситуация, когда системные администраторы предоставили только Спецификацию активации. Нет фабрики соединений. Вот что у нас есть:

  • Имя SIBus: ________
  • Конечная точка провайдера: ________
  • Пространство темы: Default.Topic.Space
  • Имя модуля обмена сообщениями: ________
  • Название темы: ________

Из того, что я прочитал, Спецификация активации предназначена для MDB (Message Driven Beans). Но у Spring есть некоторые API для ActivationSpec - DefaultJmsActivationSpecFactory , например - поэтому я настроен оптимистично, я могу настроить Camel / Spring для работы со Спецификацией активации. Я не уверен, что это имеет значение, но это SIBus с иностранным автобусом.

Мой вопрос:

Кому-нибудь посчастливилось настроить Camel для связи со Спецификацией активации?

Смотри также:

[1] Для справки приведем нашу с трудом завоеванную конфигурацию Camel, которая соединяет Camel с очередью сообщений через ресурс JNDI (фабрика соединений). Так как нам пришлось собрать этот конфиг вместе почти без документации, я надеюсь, что аналогичный конфиг может быть сделан для спецификации активации.

<jee:jndi-lookup id="myTargetConnectionFactory" jndi-name="${mq.jndi-name}"/>
<bean id="jmsDestResolver" class="org.springframework.jms.support.destination.JndiDestinationResolver"/>

<bean id="myConnectionFactory" class="org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter">
    <property name="targetConnectionFactory" ref="myTargetConnectionFactory"/>
    <property name="username" value="${mq.username}"/>
    <property name="password" value=""/>
</bean>

<bean id="jmsConfig" class="org.apache.camel.component.jms.JmsConfiguration">
    <property name="connectionFactory" ref="myConnectionFactory" />
    <property name="destinationResolver" ref="jmsDestResolver" />
    <property name="concurrentConsumers" value="1" />
    <property name="maxConcurrentConsumers" value="10" />
    <property name="cacheLevelName" value="CACHE_NONE" />
</bean>
...