apache camel + apache activemq persistence

Post on 05-Dec-2014

375 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Persistence configuration.

TRANSCRIPT

Apache Camel + Apache ActiveMQpersistence

ilya.lapitan@gmail.com

Camel + ActiveMQ persistence

Для работы с ActiveMQ в Camel существует:activemq компонента

она использует:jms компонету

которая использует:JmsTemplate (Spring Framework)

Camel + ActiveMQ persistence

ActiveMQ компонента(Apache Camel)

JMS компонента(Apache Camel)

JMSTemplate класс(Spring Framework)

Camel + ActiveMQ persistence

Текущий стандарт JMS - JMS 2.0 JMS 2.0 входит в состав Java EE 7

В настоящий момент разрабатывается спецификация JMS 2.1

Camel + ActiveMQ persistence

Стандарт JMS 2.0 определяет два режима доставки сообщений:

PERSISTENT - сообщение должно быть сохранено в постоянной хранилище

NON_PERSISTENT - сообщение в постоянном хранилище не сохраняется

Camel + ActiveMQ persistence

Сообщение(message)

Производитель(producer)

Потребитель(consumer)

Сообщение(message)

Брокер сообщений(message broker)

ActiveMQ

Non Persistent

Persistent

Non Persistent

Отправляет Получает

Camel + ActiveMQ persistenceБрокер сообщений(message broker)

ActiveMQ

Non Persistent

Persistent

Non Persistent

Постоянное хранилище

(stable storage)

файловая система,база данных

Сохранение

Camel + ActiveMQ persistenceБрокер сообщений(message broker)

ActiveMQ

Non Persistent

Persistent

Non Persistent

Camel + ActiveMQ persistence

Брокер сообщений был остановлен:PERSISTENT сообщения будут доступны для потребителя после запуска брокера сообщенийNON_PERSISTENT сообщения будут потеряны и не доступны для потребителя после запуска брокера сообщений

Camel + ActiveMQ persistenceБрокер сообщений(message broker)

ActiveMQ

Non Persistent

Persistent

Non Persistent

Постоянное хранилище

файловая система,база данных

Чтение

Camel + ActiveMQ persistence

Сообщение(message)

Производитель(producer)

Потребитель(consumer)

Сообщение(message)

Брокер сообщений(message broker)

ActiveMQ

PersistentОтправляет Получает

Camel + ActiveMQ persistence

Camel позволяет использовать следующие опции для конфигурации режима доставки сообщений:

Camel + ActiveMQ persistence

deliveryPersistent - определяет, следует ли брокеру сообщений сохранять сообщение в постоянном хранилище.Тип: booleanПо-умолчанию: true (PERSISTENT)Версия Camel: все версии

Camel + ActiveMQ persistence

deliveryMode - определяет, следует ли брокеру сообщений сохранять сообщение в постоянном хранилище.Тип: int, javax.jms.DeliveryModeПо-умолчанию: null (PERSISTENT)Версия Camel: начиная с Camel 2.12

Camel + ActiveMQ persistence

deliveryMode - используется в паре с опцией explicitQosEnabled = true.Используется при конфигурации QOS параметров:-deliveryMode-priority-timeToLive

Camel + ActiveMQ persistence

explicitQosEnabled - определяет, следует ли использовать заданные QOS параметры при отправке сообщения.Тип: booleanПо-умолчанию: falseВерсия Camel: все версии

Camel + ActiveMQ persistence

preserveMessageQos - определяет, следует ли игнорировать заданные QOS параметры для конечной точки (endpoint) и использовать параметры заданные в сообщении.Тип: booleanПо-умолчанию: falseВерсия Camel: все версии

Camel + ActiveMQ persistence

Note: использование NON_PERSISTENT сообщений позволяют увеличить скорость обработки, т.к. нет необходимости в сохранении сообщений в постоянное хранилище. Однако вместе с этим увеличивается потребление оперативной памяти.

top related