2010-12-02 37 views
4

私はいくつかのアプリケーションがTibcoランデブーを介してお互いに通信する設定をしています。アプリケーションは認証されたメッセージングを使用して通信します。私の問題は、私の受信者のうち2人が最近、メッセージを確認したいときにError 27、Not Permittedを受け取るという動作を開始したことです。(認証されたメッセージ交換の最初のメッセージは認証されず、それ)。Tibco Rendezvousを使ってメッセージを確認することができない理由は何ですか?

私は同じエラーを持つ人を見つけるためにインターネットを探していましたが、多くを見つけましたが、それらはすべて、チッブクのトランスポートを作成しようとするとエラーになります。私はトランスポートをうまく作成することができますが、その上で受け取ったメッセージは確認できません。

私たちの環境では、tibco 7.Xと8.Xが混在しています。この問題は、ピアが同じチュブコのバージョンを使用している場合と、異なるバージョンを使用している場合の両方で表示されます。すべてのアプリケーションで表示されるわけではありませんが、アプリケーションで表示されても「破損」のままです。送信者と受信者の両方の元帳ファイルを破棄することは何もしません。私たちはまだエラーを取得します。送信者と受信者の両方に、元帳ファイルに書き込み(および作成)するための適切な権限があります。私たちは永久に動くrvdsに接続しています。送信者と受信者は異なるマシンにあります。過去にコミュニケーションは完璧に機能していましたが、ある時点でそれはやめました。アプリケーションはjavaにあり、tibrvj.jar自動ネイティブライブラリを使用しています。

エラーは、私はあなたが「何をあなたはそれが起こって起動させるためにやった」と、私の回答は「わからない」である私に尋ねるつもりだ知っている

 
... 
Caused by: TibrvException[error=27,message=Not permitted] 
    at com.tibco.tibrv.TibrvImplCmTPortC.natConfirmMsg(Native Method) 
    at com.tibco.tibrv.TibrvImplCmTPortC.confirmMsg(TibrvImplCmTPortC.java:304) 
    at com.tibco.tibrv.TibrvCmListener.confirmMsg(TibrvCmListener.java:88) 
.... 

です。

すべての入力をいただければ幸いです。

ありがとうございました。

答えて

1

判明したように、それはアプリケーションレベルでねじれていました。 依存関係(メッセージングレイヤー)を更新した後に、アプリケーションレベルの確認からコンテナーレベルの確認に移行した古いコードがあるため、アプリケーションコード内の明示的なメッセージ確認を削除するのを忘れていました。

まとめ:メッセージを2回確認しようとしましたが、2回目にこの例外がスローされました。

1

2つのRVDサーバー間のTCP接続が不可能な可能性があります。一方から他方に接続できるかどうかを確認できますか(サブスクライバホストからパブリッシャに接続する)私の経験では、CMの承認はTCP経由で処理されます(私はミドルウェアのサポート担当者よりもエンドユーザーであるため、これを塩分で取ってください)。

1

私は最近、同じ例外が発生しました - アプリケーションは何ヶ月も働いていましたが、突然例外を投げていました。私の場合は、アプリケーションが実行されたWindowsサーバー上でメンテナンスが行われており、ディレクトリには読み取り専用とマークされています。それがクリアされると例外がなくなった。

他の潜在的な原因によるトラブルシューティング時間後にこれを検出しました。

0

ちょうど私の2セント:この例外は、非CMトランスポートでメッセージを明示的に確認しようとしたときにも発生します。

関連する問題