ファイルに書き込む必要があるメッセージを継続的に受信するという要件があります。新しいメッセージを受信するたびに、別のファイルに書き込む必要があります。私が望むのは、ファイル名として使用される一意の識別子を生成することです。また、メッセージの順序も維持したいと考えています。つまり、ファイル名として生成される識別子は常にインクリメンタルでなければなりません。
UUID.randomUUID()を使用してファイル名を生成していましたが、このアプローチの問題は、UUID が識別子のランダム性のみを保証し、インクリメンタルではないことです。その結果、ファイルの順序が失われています (最初に生成されたファイルをリストの最初に表示する必要があります)。
既知のアプローチ
- System.currentTimeMillis() を使用できますが、同時に複数のメッセージを受信できます。
2.もう1つのアプローチは、静的なlong値を実装し、ファイルが作成されるたびにそれを増やし、long値をファイル名として使用することです。しかし、私はこのアプローチについて確信が持てません。また、私の問題に対する適切な解決策ではないようです。これよりもはるかに優れたソリューションがあると思います。
誰かがこの問題のより良い解決策を提案してくれれば、高く評価されます。