Sekarang terima mesej daripada baris gilir mesej dan kemudian tulis ke fail. Tulis satu setiap jam, yang merupakan penulisan kelompok. Tetapi terdapat masalah Setiap kali fail baharu ditulis, terdapat beberapa data pada permulaan yang sepatutnya dimiliki oleh jam sebelumnya, dan badan mesej mempunyai masa. Bagaimana untuk memastikan bahawa semua mesej ditulis dengan ketat pada fail anda sendiri. Apa yang saya fikirkan sekarang ialah membahagikan penimbal yang ditulis dalam kelompok mengikut jam, Map<hour,buffer>, satu penimbal sepadan dengan satu jam, dan nama fail dijana berdasarkan medan jam yang sepadan dengan penimbal, untuk memastikan bahawa data dalam setiap penimbal adalah miliknya sendiri. Adakah terdapat cara lain yang lebih baik?
Fail dijana mengikut jam, dan setiap mesej mempunyai cap masa sendiri, tulisan yang sepadan
Saya rasa masalah anda mungkin berpunca daripada sebab berikut:
Pengeluar menghantar mesej berulang kali
mq berulang kali menghantar mesej kepada pengguna
Pengguna tidak memberitahu mq bahawa ia telah menggunakan mesej itu sejam yang lalu, jadi mq menghantar mesej lain pada jam berikutnya
Rujukan:
mesej-pendua-pada-aktifmq
elakkan-mesej-pendua-di-jms-activemq
pengesan-pendua