Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / createOrWaitForConnection при создании коннекта к MQ / 5 сообщений из 5, страница 1 из 1
28.08.2012, 18:38
    #37934255
Tyo
Tyo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
createOrWaitForConnection при создании коннекта к MQ
Помогите плз справиться с бедой.
Из J2EE приложение под WAS7 засылаю сообщения в MQ-очередь. Отсылаются только несколько сообщений (похоже, строго по количеству соединений в моей Queue Connection Factory, как она настроена в WAS), после чего сваливается вот с такой ошибкой.

J2CA0045E: Connection not available while invoking method
createOrWaitForConnection for resource mq/QConnFact


Код ниже. Отмечена строка где возникает ошибка. Подскажите плз, чего не хватает?
Заранее спасибо

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
InitialContext initialContext = new InitialContext();
 queueConnectionFactory = (QueueConnectionFactory)initialContext.lookup(Defaults.MQ_CONNECTION_FACTORY);
 Queue queue =	(Queue)initialContext.lookup(queueRef);
 queueConnection = queueConnectionFactory.createQueueConnection(); // Error Here!
 queueSession = queueConnection.createQueueSession(false,Session.AUTO_ACKNOWLEDGE);
 queueBrowser = queueSession.createBrowser(queue);
 queueSender = queueSession.createSender(queue);
 textMessage = queueSession.createTextMessage();
 textMessage.setText(message);
 queueSender.send(textMessage);
 queueSender.close();
 queueSession.close();
 queueConnection.close();
...
Рейтинг: 0 / 0
30.08.2012, 13:22
    #37937044
createOrWaitForConnection при создании коннекта к MQ
Tyo,

Код точно всегда доходит до queueConnection.close(); ?
Ибо очень похоже на то, что соединения таки не возвращаются в пул.
How to troubleshoot J2CA0045E connection pooling problems

Да, желательно пользоваться более общим интерфейсом ConnectionFactory.
Эта рекомендация из документации:
http://docs.oracle.com/javaee/5/api/javax/jms/QueueConnectionFactory.html QueueConnectionFactory can be used to create a QueueConnection, from which specialized queue-related objects can be created. A more general, and recommended, approach is to use the ConnectionFactory object.
Код по закрытию соединения желательно ставить в блок finally, так, чтобы открытое соединение закрывалось (и возвращалось в пул) всегда, вне зависимости от ошибок/исключений, возникающих по ходу работы логики.

И еще, какой фикспак установлен на WAS? Узнать можно командой versionInfo.
...
Рейтинг: 0 / 0
25.10.2012, 18:02
    #38013595
Tyo
Tyo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
createOrWaitForConnection при создании коннекта к MQ
Евгений Хабаров,

Снова столкнулся с тем же, на нововм уровне )
Впрос -- а можно где-то в Сфере через админ консоль посмотреть сколько MQ-коннекшинов из пула уже занято в данный момент?
...
Рейтинг: 0 / 0
26.10.2012, 14:13
    #38014558
createOrWaitForConnection при создании коннекта к MQ
Tyo,

Можно, через Performance Monitoring Infrastructure (PMI) и в нем Performance Viewer.
Но, вначале в PMI нужно включить сбор статистики, как минимум Base уровня, а уже потом смотреть.

По моему надежнее это смотреть через wsadmin. Какие команды там использовать написано в документе "How to troubleshoot J2CA0045E connection pooling problems", ссылку на который я давал ранее.
...
Рейтинг: 0 / 0
27.10.2012, 11:40
    #38015481
Tyo
Tyo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
createOrWaitForConnection при создании коннекта к MQ
Евгений Хабаров,

Да-да, я уже нашел в указанном Вами траблшутинге, спасибо большое
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / createOrWaitForConnection при создании коннекта к MQ / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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