mirror of
https://github.com/spring-projects/spring-data-elasticsearch.git
synced 2025-05-31 09:12:11 +00:00
DATAES-809 - Creation of test data may lead to duplicate values.
Original PR: #443
This commit is contained in:
parent
15f51c5151
commit
b278bf9819
@ -21,9 +21,13 @@ import org.elasticsearch.client.RestHighLevelClient;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.dao.DataAccessResourceFailureException;
|
||||
import org.springframework.data.elasticsearch.client.ClientConfiguration;
|
||||
import org.springframework.data.elasticsearch.client.RestClients;
|
||||
import org.springframework.data.elasticsearch.config.AbstractElasticsearchConfiguration;
|
||||
import org.springframework.data.elasticsearch.core.ElasticsearchOperations;
|
||||
import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate;
|
||||
import org.springframework.data.elasticsearch.core.convert.ElasticsearchConverter;
|
||||
|
||||
/**
|
||||
* Configuration for Spring Data Elasticsearch using
|
||||
@ -56,4 +60,22 @@ public class ElasticsearchRestTemplateConfiguration extends AbstractElasticsearc
|
||||
.build()) //
|
||||
.rest();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ElasticsearchOperations elasticsearchOperations(ElasticsearchConverter elasticsearchConverter) {
|
||||
RestHighLevelClient client = elasticsearchClient();
|
||||
return new ElasticsearchRestTemplate(client, elasticsearchConverter) {
|
||||
@Override
|
||||
public <T> T execute(ClientCallback<T> callback) {
|
||||
try {
|
||||
return super.execute(callback);
|
||||
} catch (DataAccessResourceFailureException e) {
|
||||
try {
|
||||
Thread.sleep(1_000);
|
||||
} catch (InterruptedException ignored) {}
|
||||
return super.execute(callback);
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
@ -678,14 +678,18 @@ public class SimpleElasticsearchRepositoryTests {
|
||||
}
|
||||
|
||||
private static List<SampleEntity> createSampleEntitiesWithMessage(String message, int numberOfEntities) {
|
||||
|
||||
List<SampleEntity> sampleEntities = new ArrayList<>();
|
||||
long idBase = (long) (Math.random() * 100);
|
||||
long versionBase = System.currentTimeMillis();
|
||||
|
||||
for (int i = 0; i < numberOfEntities; i++) {
|
||||
String documentId = randomNumeric(5);
|
||||
String documentId = String.valueOf(idBase + i);
|
||||
SampleEntity sampleEntity = new SampleEntity();
|
||||
sampleEntity.setId(documentId);
|
||||
sampleEntity.setMessage(message);
|
||||
sampleEntity.setRate(2);
|
||||
sampleEntity.setVersion(System.currentTimeMillis());
|
||||
sampleEntity.setVersion(versionBase + i);
|
||||
sampleEntities.add(sampleEntity);
|
||||
}
|
||||
return sampleEntities;
|
||||
|
Loading…
x
Reference in New Issue
Block a user