Проблема с Apache Commons Id UUID версии 1 поколения

Моя проблема заключается в создании UUID версии 1. Мы используем Jetty 6.x, Maven (среди прочего, для запуска Jetty) и Apache Commons ID (чтобы сгенерировать UUID версии 1 из текущего времени).

Для Идентификатор Apache Commons требуется файл конфигурации, который сообщается JVM с использованием параметра, например. 'org.apache.commons.id.uuid.config.resource.filename=commons-id-uuid.xml'. Я проверил код Apache Commons ID, и он пытается найти файл в пути к классам. В документации Jetty указано, что WEB-INF/lib и WEB-INF/classes находятся в путь к классам. «commons-id-uuid.xml» можно найти в развернутом файле войны в корне каталога WEB-INF/classes, но Jetty не может его загрузить:

Message: java.lang.RuntimeException: 
java.lang.IllegalStateException: commons-id-uuid.xml loaded as system resource is null

Jetty был запущен с помощью следующей команды:

mvn jetty:run -Dorg.apache.commons.id.uuid.config.resource.filename=commons-id-uuid.xml

Любая идея, что происходит не так? Нам просто нужно сгенерировать идентификаторы UUID версии 1. Какие-либо предложения?


person Pekka Mattila    schedule 08.12.2009    source источник
comment
Почему вы не используете JDK UUID (java.sun .com/javase/6/docs/api/java/util/UUID.html) ?   -  person Thomas Jung    schedule 08.12.2009
comment
Нам просто нужно легко сгенерировать UUID из текущего времени. Конструктор класса JDK UUID принимает старшие и младшие биты. Это довольно низкий уровень. Также есть случайный UUID (java.sun.com/javase/6/docs/api/java/util/), который возвращает UUID типа 4, а нам нужен UUID типа 1.   -  person Pekka Mattila    schedule 08.12.2009


Ответы (1)


Есть по крайней мере 2 лучшие библиотеки генерации UUID, чем apache commons:

которые не требуют файлов конфигурации xml. Может быть, рассмотреть один из них вместо этого?

person StaxMan    schedule 04.04.2010
comment
Спасибо за информацию! На самом деле мы не решили проблему, так как поменяли базу данных на другую. Тем не менее, это то, что нам нужно, чтобы решить эту конкретную проблему в будущем. Спасибо за этот совет! - person Pekka Mattila; 05.04.2010
comment
К вашему сведению: JUG теперь находится по адресу wiki.fasterxml.com/JugHome и использует современные функции JDK6 ( в отличие от устаревшей реализации, размещенной по указанному выше URL-адресу) - person Thilo-Alexander Ginkel; 19.12.2010