2

このエラーを受け取ったときに、Springを使用してTibcoEmsトピックに接続しようとしています。

構成は次のとおりです。

    <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>

これは正確にはどういう意味ですか?私の詳細または私の設定は間違っていますか?

4

4 に答える 4

5

JMS仕様では、次のように定義されています。

この例外は、宛先がプロバイダーによって理解されていないか、有効でなくなった場合にスローする必要があります。

通常、これは宛先の名前が無効であることを意味します。たとえば、に渡されたパラメータは

Session.createQueue(String qName)

(編集:またはJNDIで定義)プロバイダーの命名規則を満たしていないか、存在しません。他の理由で使用される場合があります(たとえば、閉じられたTemporaryQueueを使用しようとした場合)。構成を再確認して、正しい名前が指定されていることを確認します。おそらく、どこかにエラーがあるか、EMSの規則と一致しないものを試している可能性があります。

于 2011-08-01T16:54:53.957 に答える
2

私も同じ問題に直面していたので、これに対する解決策を探していました。

EMS環境に問題があり、EMS環境にトピックが1つありません。

私は答えをたくさん探しました、そして以下は私が得たステップです。

手順は次のとおりです。

  1. TIBCOEMSサーバーを起動します。

  2. adminユーザーを使用してTIBCOEMS管理者ツールにログインします。

  3. 接続したら、以下のコマンドを実行して、使用可能なトピックを確認します。

    トピックを表示

  4. '>'という名前のトピックがないことがわかります

  5. 以下のコマンドでトピックを1つ作成します。

    トピックを作成>

  6. 次に、コードを使用して動的トピックを接続してみてください。EMS環境に接続でき、動的トピックを作成できます。

これもあなたを助けることができるかもしれません。

情報源: http ://aajsearch.com/556/connecting-environment-allowed-destination-anyone-please?show = 557#a557

于 2014-08-25T15:13:41.357 に答える
1

存在しない宛先を参照しているようです。つまり、名前エラーです。おそらく間違ったJNDI名プレフィックスですか?または、EMSキュー名の代わりにJNDI名を使用しますか?またはその逆。申し訳ありませんが、EMSを使用してからしばらく経ちました。

于 2011-08-01T16:38:09.683 に答える
0

tibcoの下のemsフォルダーでqueues.confファイルを探し、「>」を使用して動的キュー作成を有効にします。これでエラーが解決しました。

于 2018-08-08T04:59:30.360 に答える