powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / javax.jms.IllegalStateException в WebSphere
3 сообщений из 3, страница 1 из 1
javax.jms.IllegalStateException в WebSphere
    #33381186
Innate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я создал транзакционную сессию.

Код: plaintext
QueueSession qs = queueConnection.createQueueSession(true, QueueSession.AUTO_ACKNOWLEDGE)

Мне необходимо атомарно пересылать сообщения из одной очереди в другую, причем выбирая нужные сообщения.

В этой сессии мне нужно забрать сообщение из одной очереди, проверить, подходит ли оно мне (информация содержится в теле). Если не подходит, то откатить транзакцию (положить сообщение обратно) и перейти к следующему сообщению. Если подходит, то послать его в другую очередь. Если все в порядке, то закомитить транзакцию, иначе откатить.

Вылетает указанное исключение, когда я пытаюсь закомитить транзакцию, говорит, что

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
javax.jms.IllegalStateException: CWSIA0053E: An exception was 
received during the call to the method JmsSessionImpl.commitTransaction (# 2 ): 
javax.resource.spi.LocalTransactionException: CWSJR1138E: An internal error has 
occurred. An unexpected exception has occurred. A call was made to 
commitLocalTransaction but there is no local transaction..
	at com.ibm.ws.sib.api.jms.impl.JmsSessionImpl.commitTransaction(JmsSessionImpl.java: 2622 )
	at com.ibm.ws.sib.api.jms.impl.JmsSessionImpl.commit(JmsSessionImpl.java: 685 )
	at com.reksoft.bls.bqueue.MessageTransferBean.onMessage(MessageTransferBean.java: 114 )
	at com.ibm.ejs.container.MessageEndpointHandler.invokeMdbMethod(MessageEndpointHandler.java: 985 )
	at com.ibm.ejs.container.MessageEndpointHandler.invoke(MessageEndpointHandler.java: 713 )
	at $Proxy3.onMessage(Unknown Source)
	at com.ibm.ws.sib.api.jmsra.impl.JmsJcaEndpointInvokerImpl.invokeEndpoint(JmsJcaEndpointInvokerImpl.java: 201 )
	at com.ibm.ws.sib.ra.inbound.impl.SibRaDispatcher.dispatch(SibRaDispatcher.java: 307 )
	at com.ibm.ws.sib.ra.inbound.impl.SibRaSingleProcessListener$SibRaWork.run(SibRaSingleProcessListener.java: 302 )
	at com.ibm.ejs.j2c.work.WorkProxy.run(WorkProxy.java: 434 )
	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))
Caused by: javax.resource.spi.LocalTransactionException: CWSJR1138E: An internal 
error has occurred. An unexpected exception has occurred. A call was made to 
commitLocalTransaction but there is no local transaction.
	at com.ibm.ws.sib.api.jmsra.impl.JmsJcaSessionImpl.commitLocalTransaction(JmsJcaSessionImpl.java: 429 )
	at com.ibm.ws.sib.api.jms.impl.JmsSessionImpl.commitTransaction(JmsSessionImpl.java: 2605 )
	...  10  more

То есть получается, что нет локальной транзакции. А какая тогда есть? Ведь должна быть, раз сессия транзакционная.

Я пересылаю сообщения так:
1. извлекаю сообщение из одной очереди (receiver.receiveNoWait).
2. проверяю, подходит ли оно мне (если нет, то rollback)
3. если подходит, то создаю новое сообщение (queueSession.createTextMessage).
4.кладу в него тело пришедшего сообщения.
5.посылаю его в другую очередь
6. queueSession.commit

Если это имеет значение, то все это происходит в MDB, который срабатывает на приход сообщения в третью очередь, в котором указано, какие сообщения выбирать.
...
Рейтинг: 0 / 0
javax.jms.IllegalStateException в WebSphere
    #33381411
Innate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашел по коду CWSIA0053E:

http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg1PK02938

Это бага!!!
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
javax.jms.IllegalStateException в WebSphere
    #34624241
GerdaS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
InnateНашел по коду CWSIA0053E:

http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg1PK02938

Это бага!!!

эээээээ, а что делать тогда как ты её обошёл?
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / javax.jms.IllegalStateException в WebSphere
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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