// trigger retry, then return metadata for verification
commandBus.subscribe(String.class.getName(), new CommandHandler<String>() {
@Override
public MetaData handle(CommandMessage<String> commandMessage, UnitOfWork unitOfWork) throws Throwable {
if (Thread.currentThread() == testThread) {
throw new ConcurrencyException("some retryable exception");
} else {
return commandMessage.getMetaData();
}
}
});