2
我需要在我的应用程序中唯一标识消息。因此每条消息应该包含它的id。我有几个问题虽然..在java中创建消息ID
- 应该消息私人生成它的id,只提供ID为getter?
- 什么是创建ID的最佳方式?在Java中的UUID类的任何替代品?
谢谢。
我需要在我的应用程序中唯一标识消息。因此每条消息应该包含它的id。我有几个问题虽然..在java中创建消息ID
谢谢。
AtomicInteger
或AtomicLong
是可以不用锁定就可以正确使用的好选择。没有更多的上下文我会回答:如果您关心速度,您可以始终有一个进程(在另一台机器上?)预先计算应用程序的UUID。这样,应用程序就可以快速访问UUID的“池”。
一个不应该能够改变消息的UID或者是什么意思?
UUID类有什么问题?如果是关于速度,那么请参阅上文。
我的应用程序已分发。坦率地说,消息应该自己生成id。 时间戳怎么样?带有时间戳的 – Sorantis 2010-03-01 12:30:27
:您会发现处理时钟同步问题更困难IMO ... – jldupont 2010-03-01 12:31:44
“时间戳怎么样?”消息是否可以源自多台计算机?那么你有可能发生碰撞。即使没有,也需要确保在时间戳的粒度内不能创建两条消息(例如,如果时间戳为毫秒,则在同一毫秒内创建两条消息)。 – Kris 2010-03-01 12:32:57