2012-08-02 7 views
4

Riak поддерживает автогенерируемая ключи при хранении объекта:автогенерируемая ключ в Riak через Java клиент

http://wiki.basho.com/Basic-Riak-API-Operations.html:

магазин новый объект и присвоить случайный ключ #

Если ваш приложение скорее оставит ключевое поколение до Riak, выдаст POST-запрос на URL-адрес ведра вместо PUT для пары ковша/ключа: POST /riak/bucket Если вы не передадите Riak a ключ»имя после того, как ведро, он будет знать, чтобы создать для вас.

Можно ли сделать это при использовании java-клиента? Кажется, что ключ должен быть предоставлен при хранении объекта.

+0

Я обновил ответ ниже. Теперь это поддерживается. –

ответ

3

Отредактировано обновлено: Это теперь доступно на Java-клиенте. Он был добавлен в версии 1.0.7 для клиентов. См: https://github.com/basho/riak-java-client/pull/168


К сожалению ... сейчас клиент Java не поддерживает это.

Кто-то открыл вопрос для этого: https://github.com/basho/riak-java-client/issues/141

Я согласен, что нужно добавить. На данный момент у нас есть ряд вещей, для которых релиз Riak 1.2 имеет несколько более высокий приоритет, но я надеюсь работать над этим и добавить его в ближайшем будущем.

+0

Эй @Brian Я вижу, что вы сделали это обновление, но у меня все еще возникают проблемы с тем, чтобы это работало. Bucket bucket = this.myClient.fetchBucket (bucketName) .execute(); bucket.store (POJO) .withoutFetch(). Execute(); is throwing riak.client.convert.NoKeySpecifedException: null – KRB

+0

Просто обратите внимание, что в приведенном выше примере используется клиент PB. – KRB

+0

@ KRB - Я предполагаю, что я пропустил это в конвертере JSON. Я открою проблему и исправлю это; Извини за это. –