2011-08-01 5 views
2

私はこのエラーを受け取ったときにSpringを使用してTibco Emsトピックに接続しようとしています。ここで誰もが正確に何を知っていますか?javax.jms.InvalidDestinationException:宛先の作成を許可していませんか?

はconfigです:これはまさに

<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

JMS仕様では、先のいずれかが、プロバイダによって理解またはもはや有効ではないれていない場合、この例外がスローされなければならない

として定義します。

通常、宛先の名前が無効であることを示します。プロバイダの命名規則を満たしていないか、または存在していない、時折それは他の理由のために使用することができる(例えば閉鎖されたTemporaryQueueを使用しよう:

Session.createQueue(String qName) 

(またはJNDIで定義された編集)に渡されたパラメータ)。私はあなたの設定を再確認して、正しい名前を指定しているかどうか、おそらくどこかにエラーがあり、EMSの規則に合わないものを試している可能性があることを確認します。

1

あなたが存在しないデスティネーションを参照しているようです。つまり、名前の誤りです。おそらく間違ったJNDI名接頭辞?または、EMSキュー名の代わりにJNDI名を使用しますか?またはその逆。申し訳ありませんが、私はEMSで働いてからしばらくしています。

2

私は同じ問題に直面していたので、この解決策も探していました。

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

私は答えをたくさん探しましたが、以下は私が得た手順です。

  1. スタートTIBCO EMSサーバー:

    は以下の手順です。

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

  3. 接続したら、以下のコマンドを実行して利用可能なトピックを確認してください。あなたが名前を持つ利用可能なトピックが存在しないことがわかります

    ショーの話題

  4. 「>」

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

    今あなたがEMS環境に接続することができるはずとダイナミックなトピックを作成することができ、あなたのコードを使用して、動的なトピックを接続してみます>

  6. トピックを作成します。

これもあなたを助けることがあります。情報の

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

+3

こんにちはPanky!回答を投稿してStackOverflowをうまく利用できるようにしてくれてありがとう。回答の質を向上させるための簡単な方法は、リンク内の関連情報をすばやくプレビューできますか?そのリンクが404秒後にあなたの答えが役に立たなくなる日が来るかもしれません。 – OldTinfoil

+0

こんにちはマイク!良い提案:) – Panky

関連する問題