O template de chave valor é responsável para realizar a comunicação da entidade para um banco de dados do tipochave valor.
KeyValueTemplate
O KeyValuTemplate é responsável pela persistência de uma Entidade em um banco de dados do tipo chave valor. Ele é composto, basicamente, por três componentes:
KeyValueEntityConverter: Responsável por converter uma entidade, por exemplo, User para KeyValueEntity
BucketManager: entidade manager de chave valor do Diana.
KeyValueWorkflow: O workflow para os bancos do tipo chave valor.
KeyValueTemplate template =null;User user =newUser();user.setNickname("ada");user.setAge(10);user.setName("Ada Lovelace");List<User> users =Collections.singletonList(user);template.put(user);template.put(users);Optional<Person> ada =template.get("ada",Person.class);Iterable<Person> usersFound =template.get(Collections.singletonList("ada"),Person.class);
Como o motor do Artemis é CDI para que se posso utilizar o KeyValueTemplate basta dar um @Inject num campo.
@InjectprivateKeyValueTemplate template;
Para isso é necessário que a aplicação injete um BucketManager: