質問: どの点を改善すれば同時複数リクエストでも失敗しないサーバになりますでしょうか? また、現在の構成以外でも1と3をうまく通信させる方法はありますでしょうか?
回答: 最初のリクエストで messageId が 1 になります。 次のリクエストで 2 になります。 最初のレスポンスでハンドラが呼ばれます。tmpMessageId は 1 です。messageId は 2 です。 レスポンスは捨てられます。 来ないレスポンスをずっと待ち続けます。 あと、シングルトンならコンストラクタは private にしてください。