Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Последовательное получение сообщений в Message Dricve-Bean. / 9 сообщений из 9, страница 1 из 1
19.10.2012, 15:58:16
    #38005947
pulp
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Последовательное получение сообщений в Message Dricve-Bean.
Добрый день!

Есть очередь Queue. В неё отправитель пишет сообщения. Получателю необходимо вычитывать сообщения строго в том же порядке, в котором они были помещены.
Подскажите пож., можно это как-то сделать?
...
Рейтинг: 0 / 0
19.10.2012, 16:00:19
    #38005952
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Последовательное получение сообщений в Message Dricve-Bean.
Так как JMS не гарантирует порядка обработки, то нужно самостоятельно добавлять в сообщения некий инкрементальный идентификатор и ориентироваться по нему.
...
Рейтинг: 0 / 0
19.10.2012, 16:02:17
    #38005955
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Последовательное получение сообщений в Message Dricve-Bean.
Нужно ещё смотреть конкретного провайдера. Высока вероятность что у него уже есть такая фич
http://docs.oracle.com/cd/E15051_01/wls/docs103/jms/uoo.html
...
Рейтинг: 0 / 0
19.10.2012, 16:05:59
    #38005965
pulp
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Последовательное получение сообщений в Message Dricve-Bean.
Если в очередь одновременно поступило несколько сообщений, запускается несколько MDB методов onMessage. Можно как-то сделать, чтобы запускался только один, в одном потоке?
...
Рейтинг: 0 / 0
19.10.2012, 16:08:21
    #38005971
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Последовательное получение сообщений в Message Dricve-Bean.
pulpЕсли в очередь одновременно поступило несколько сообщений, запускается несколько MDB методов onMessage. Можно как-то сделать, чтобы запускался только один, в одном потоке?
Размер пула для MDB сконфигурять в один поток.
https://www.google.com/search?q=MDB+pool+size
Опять же это vendor-specific. А что у вас за сервер, вы не сообщили.
...
Рейтинг: 0 / 0
19.10.2012, 16:13:50
    #38005981
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Последовательное получение сообщений в Message Dricve-Bean.
Да и задачу примерно описать неплохо бы - часто приходится встречаться что пользуются неправильными инструментами
...
Рейтинг: 0 / 0
19.10.2012, 16:20:58
    #38005995
pulp
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Последовательное получение сообщений в Message Dricve-Bean.
Сервер: WebSphere Applicaition Server 8.5. Провайдер JMS - на сфере Defaulf Message Provider (SIB).
Задача: Есть финансовая система А, в которой генерятся документы (проводки). Нужно эти проводки передать в систему Б в том же порядке, т.к. проводки могут как пополнять счет, так и списывать с него. И если придёт два списания и не одного пополнение, то возможно красное сальдо.

Есть параметр maxSession, подскажите, он для чего?

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
@MessageDriven(
		activationConfig = { 
	        @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),  
	        @ActivationConfigProperty(propertyName = "maxSession", propertyValue = "1"),  
	        @ActivationConfigProperty(propertyName = "messageSelector", propertyValue = "JMSType = 'ResNav'"),  
	        @ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge")
		}, 
		mappedName = "PackageReceiverDestination")
...
Рейтинг: 0 / 0
19.10.2012, 23:08:32
    #38006422
buldozer01
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Последовательное получение сообщений в Message Dricve-Bean.
Unit Of Order

В Weblogic см WlMessageProducer
...
Рейтинг: 0 / 0
22.10.2012, 11:39:56
    #38007859
pulp
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Последовательное получение сообщений в Message Dricve-Bean.
Нашёл в параметрах Activation specifications:
Resources\JMS\JMS Providers\Default messaging provider\Activation specifications\ВАШ_act_spec, параметр [Maximum concurrent MDB invocations per endpoint] нужно выставить в 1.
Возможно можно сделать и программно, но пока не нашёл.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Последовательное получение сообщений в Message Dricve-Bean. / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]