Sorry for the response latency. See interspersed.
I guess the short answer is.. if Tyrex was thought to be a good starting point, this is how Tyrex does it. http://tyrex.sourceforge.net/api/tyrex/services/Clock.html (Same for OpenJMS http://openjms.sourceforge.net/xref/org/exolab/jms/util/Clock.html)
More on the clock issue: System.currentTimeMillis has some resolution issues in different jvm's and OS's. That's the rationale behind this clock. From JavaWorld article; http://www.javaworld.com/javaworld/javaqa/2003-01/01-qa-0110-timing.html "Java developers on Linux enjoy 1-millisecond (ms) resolution, while Windows 98 users suffer with 50-ms resolution. In most cases, the actual resolution has nothing to do with the fact that System.currenTimeMillis()'s return value is current time in milliseconds." Also a MAC vm bug: http://developer.apple.com/qa/java/java20.html
Thanks. I see the rationale now.
I agree within containers that forbid thread creation shouldn't be counted out. What if we had something like this:
Uuid - Class representing a UUID. The recent post about kennewick is a good start for this class I think. Thanks Jorg. UuidGen - Generates UUIDs, one can ask for a version 1, 2, 3, or 4. Additionally, the default "clock" can be the System.currentTimeMillis, but a setClock method provided. If currentTimeMillis is used then the CLOCK_SEQUENCE should be reset each call b/c essentially one can assume the time didn't move forward as it should. UuidClock - Interface UuidThreadClock - Gives the artifical time based on thread clock UuidSystemClock - Gives the artifical time based on system clock UuidFactory - Attempts to create the best Uuid for the system.
Looks promising. An additional hurdle will obviously be the MAC address. In terms of the Uuid class, I took a quick look at the kennewick stuff and I agree that it looks reasonable. If we want to bring this in, however, we will need to get a software grant and go through the apache incubator. Given that there is not really that much there, it might be just as well to clean room it here in the jakarta commons sandbox.
Phil
-----Original Message----- From: Phil Steitz [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 17, 2003 9:14 AM To: Jakarta Commons Developers List Subject: Re: [lang] UUID Generator - was RE: UUID Generator?
Phil Steitz wrote:
Tim Reilly wrote:
Phil, Tim, et al,
I just added the thread lifecycle handling to the *draft* UuidClock.java I'd started For the timestamp of a version 1 uuid.
I'll share it here. I realize it needs more work. I haven't tested it yet, but I wanted to get some feedback before I do more.
I'm not a committer on anything... would it be better to open
a bugzilla
enhancement and add files like this that way?
Yes, it would be best to attach files to a Bugzilla ticket. I will have a look this evening. Is this meant to be used with the axis impl?
Tim,
Can you provide a little more context on why we need this class and how the overall solution will be structured? I am a little concerned about the need to spawn a thread for the timer, since this should be usable in container-managed environments.
Phil
Phil
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]