MQ にメッセージを書き込む必要があり、何らかの理由で失敗した場合は、そのメッセージをテキスト ファイルに書き込む必要があります。メッセージが再び MQ に流れ始めるまで、このテキスト ファイルにメッセージを追加し続ける必要があります。メッセージが流れ始めたら、テキスト ファイルをチェックして保留中のメッセージをすべて読み込み、テキスト ファイルから削除する必要があります。
try{
sender.send(mqMessage); where mqMessage is of JMSBytesMessage
}
メッセージの送信に失敗した場合は、これをテキスト ファイルに書き込む必要があります。
catch(JMSException mqe)
{
mqe.printStackTrace();
try{
String msgString= mqMessage.toString();
FileWriter fstream = new FileWriter(filePath);
BufferedWriter out = new BufferedWriter(fstream);
out.append(msgString);
out.close();
}
catch (Exception e){//Catch exception if any
System.err.println("Error: " + e.getMessage());
}
}
メッセージが流れ始めたら、テキストファイルを読み取って、これらすべてのメッセージを最初の try ブロック内にロードする必要があります。sender.send(mqMessage)
私は完全なファイルの内容を読んでいます。メッセージを分割して文字列に保存した後、その文字列を型にキャストし JMSBytesMessage
て MQ に配置するにはどうすればよいですか。
JMSBytesMessage
ここで完全なシナリオについて言及したのは、文字列に変換してからもう一度文字列に変換しJMSBytesMessage
たいが、両方の型キャストを実行しているときに実際のコンテンツを変更したくない ことを伝えたかったからです。
ありがとう