在java中创建消息ID

时间:2010-03-01 12:07:34

标签: java uuid

我需要在我的应用中唯一标识消息。因此,每条消息都应包含其id。我有几个问题..

  1. 邮件是否应私下生成其ID并仅为id提供getter?
  2. 创建ID的最佳方法是什么? java中UUID类的任何替代方法?
  3. 感谢。

2 个答案:

答案 0 :(得分:6)

  1. 显然,ID不应该有公共设置器。让消息生成ID本身的另一种方法是在构造函数中传递它。
  2. 如果您的应用已分发,则无法替代UUID。如果它没有分发,AtomicIntegerAtomicLong是可以在没有锁定的情况下连续使用的好选择。

答案 1 :(得分:2)

如果没有更多的上下文,我会回答:如果你关注速度,你可以总是有一个进程(在另一台机器上?)预先计算应用程序的UUID。这样,应用程序可以快速访问UUID的“池”。

  1. 一个人不应该更改消息的UID,否则有什么意义?

  2. UUID课有什么问题?如果是速度,请参见上文。