2009-08-18 3 views
2

Я пытаюсь настроить JMS-сервер (OpenJMS) в приложение Spring и когда я ссылаюсь на ресурсы с использованием обозначения «jms/<> Я получаю« имя », а не связанное исключениеJNDI Context :: Имя jms, не связанное в этом контексте

Любой ключ, что отсутствует

javax.naming.NameNotFoundException: Name jms is not bound in this Context 
    at org.apache.naming.NamingContext.lookup(NamingContext.java:768) 
    at org.apache.naming.NamingContext.lookup(NamingContext.java:138) 
    at org.apache.naming.NamingContext.lookup(NamingContext.java:779) 
    at org.apache.naming.NamingContext.lookup(NamingContext.java:138) 

Компонент определяется как:.?

<bean id="connectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean"> 
    <property name="jndiTemplate" ref="jmsProvider"/> 
    <property name="jndiName" value="jms/RefreshTopic_CF"/> 
    <property name="resourceRef" value="true" /> 
</bean> 

у меня есть LIB JMS в классе пути и сервер OpenJMS работает.

ответ

4

В web.xml мы не могли ссылаться как на интерфейс (javax.jms.Topic), мы должны были использовать точный класс. Это была проблема с OpenJMS, а не с Websphere.

Не допускается:

<resource-ref id="ResourceRef_125180"> 
    <description>Topic</description> 
    <res-ref-name>jms/MyTopic</res-ref-name> 

    <res-type>javax.jms.Topic</res-type> 

    <res-auth>Container</res-auth> 
    <res-sharing-scope>Shareable</res-sharing-scope>   
</resource-ref> 

позволил:

<resource-ref id="ResourceRef_125180"> 
    <description>Topic</description> 
    <res-ref-name>jms/MyTopic</res-ref-name> 

    <res-type>org.exolab.jms.client.JmsTopic</res-type> 

    <res-auth>Container</res-auth> 
    <res-sharing-scope>Shareable</res-sharing-scope>   
</resource-ref> 
2

кажется вам либо

  • Не настроил OpenJMS использовать тот же самый JNDI дерево весной смотрит на - посмотрите here
  • Глядя на неправильный путь в JNDI. Как догадка, опустите «jms /» из jndiName.
0

В моем случае я должен был переместить ресурс т.е. JMS/XXX от server.xml из кота в context.xml а затем перезапуск tomcat сделал трюк.

 Смежные вопросы

  • Нет связанных вопросов^_^