Ошибка поиска JNDI при поиске очереди JMS в WebLogic 10.3.5 - PullRequest
2 голосов
/ 28 марта 2012

Я новичок в программировании JMS и использую исключение NameNotFoundException, хотя, глядя на консоль администратора, оно показывает имя JNDI, которое вызывает ошибку.

Произошло исключение:

javax.naming.NameNotFoundException: Невозможно разрешить 'tutorialqueue'.Решено '';оставшееся имя 'tutorialqueue' в weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException (BasicNamingNode.java:1139) в weblogic.jndi.internal.BasicNamingNode.lookupHere (BasicNamingNode.java:252) в weblogic.jup.er.ServerNamingNode.java:182) в weblogic.jndi.internal.BasicNamingNode.lookup (BasicNamingNode.java:206) в weblogic.jndi.internal.WLEventContextImpl.lookup (WLEventContextImpl.java:254) в weblogic.jupi.jpg(WLContextImpl.java:411)

В консоли администратора я вижу:

Имя - TutorialJmsConnectionFactoryТип - Фабрика соединенийИмя JNDI - учебное пособиеПодразвертывание - таргетинг по умолчаниюЦели - AdminServer

Имя - TutorialJmsQueueТип - ОчередьИмя JNDI - учебное пособиеПодразделение -Цели -

Консоль показывает имя учебника JNDI-имя, которое исключение говорит, что не может найти.Также было успешно найдено название учебного соединения.Может ли это быть связано с тем, что Подразделение и / или Цели пустые?

Вот код, где происходит поиск / неудача:

QueueConnectionFactory queueFactory = ( QueueConnectionFactory ) ic.lookup( "tutorialconnectionfactory" );
QueueConnection queueConnection = queueFactory.createQueueConnection();
QueueSession queueSession = queueConnection.createQueueSession( false , Session.AUTO_ACKNOWLEDGE );
Queue queue = ( Queue ) ic.lookup( "tutorialqueue" );
QueueSender sender = queueSession.createSender( queue );

Может кто-нибудь указать мне правильное направление?ТИА

Ответы [ 2 ]

3 голосов
/ 29 марта 2012

В weblogic вы должны настроить свою очередь на использование тех же подразделов и целей, что и для фабрики соединений, обе должны быть найдены в JVM. Обновите цель и подразвертывание своей очереди, чтобы соответствовать фабрике соединений, и она должна начать работать.

0 голосов
/ 06 декабря 2013

Чтобы добавить все в порядке ... Но вам нужно заменить

> tutorialconnectionfactory and 
> tutorialqueue

с

> jms/tutorialconnectionfactory and 
> jms/tutorialqueue

тогда я думаю, что это будет работать нормально ...

...