Mic*_*l W 2 java spring jms tibco-ems spring-jms
当我收到此错误时,我尝试使用 Spring 连接到 Tibco Ems 主题。
这是配置:
<jms:listener-container connection-factory="Tcf" acknowledge="auto" >
<jms:listener id="ListenerContainer" destination="######" ref="MessageListener" />
</jms:listener-container>
<bean id="MessageListener" class="com.dcc.jms.listeners.TestListener"></bean>
<!-- JNDI Template -->
<bean id="JndiTemplate" class="org.springframework.jndi.JndiTemplate">
<property name="environment">
<props>
<prop key="java.naming.provider.url">#</prop>
<prop key="java.naming.factory.url.pkgs">com.sun.jndi.ldap </prop>
<prop key="java.naming.factory.initial">com.sun.jndi.ldap.LdapCtxFactory</prop>
</props>
</property>
</bean>
<!-- CONNECTION FACTORY -->
<bean id="Tcf"
class="org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter">
<property name="username" value="" />
<property name="password" value="" />
<property name="targetConnectionFactory">
<bean class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiTemplate" ref="JndiTemplate" />
<property name="jndiName" value="#" />
</bean>
</property>
</bean>
Run Code Online (Sandbox Code Playgroud)
这到底是什么意思?我的详细信息或我的配置有误吗?
JMS 规范将其定义为
当提供者不理解目标或不再有效时,必须抛出此异常。
通常这意味着 Destination 的名称无效,例如传递给的参数
Session.createQueue(String qName)
Run Code Online (Sandbox Code Playgroud)
(编辑:或在 JNDI 中定义)不符合提供者命名约定或不存在,偶尔它可以用于其他原因(例如尝试使用已关闭的 TemporaryQueue)。我会仔细检查您的配置以确保您指定了正确的名称,很可能某处存在错误和/或您正在尝试与 EMS 约定不匹配的内容。
| 归档时间: |
|
| 查看次数: |
23245 次 |
| 最近记录: |