Upgrade dependencies; fix deprecations

This commit is contained in:
Artem Bilan
2019-09-30 21:48:50 -04:00
parent 229676b12c
commit 37cc201aee
10 changed files with 200 additions and 241 deletions

View File

@@ -33,7 +33,7 @@ description = 'Spring Integration'
ext {
linkHomepage = 'https://projects.spring.io/spring-integration'
linkCi = 'https://build.spring.io/browse/INT'
linkIssue = 'https://jira.spring.io/browse/INT'
linkIssue = 'https://github.com/spring-projects/spring-integration/issues'
linkScmUrl = 'https://github.com/spring-projects/spring-integration'
linkScmConnection = 'scm:git:git://github.com/spring-projects/spring-integration.git'
linkScmDevConnection = 'scm:git:ssh://git@github.com:spring-projects/spring-integration.git'
@@ -76,26 +76,26 @@ ext {
junitJupiterVersion = '5.5.2'
jythonVersion = '2.7.0'
kryoShadedVersion = '4.0.2'
lettuceVersion = '5.1.8.RELEASE'
lettuceVersion = '5.2.0.RELEASE'
log4jVersion = '2.12.1'
micrometerVersion = '1.2.1'
mockitoVersion = '3.0.0'
mysqlVersion = '8.0.16'
mysqlVersion = '8.0.17'
pahoMqttClientVersion = '1.2.0'
postgresVersion = '42.2.6'
postgresVersion = '42.2.8'
reactorVersion = 'Dysprosium-RELEASE'
resilience4jVersion = '1.0.0'
resilience4jVersion = '1.1.0'
romeToolsVersion = '1.12.1'
rsocketVersion = '1.0.0-RC3'
rsocketVersion = '1.0.0-RC5'
servletApiVersion = '4.0.1'
smackVersion = '4.3.4'
springAmqpVersion = project.hasProperty('springAmqpVersion') ? project.springAmqpVersion : '2.2.0.BUILD-SNAPSHOT'
springDataVersion = 'Moore-BUILD-SNAPSHOT'
springDataVersion = 'Moore-RELEASE'
springSecurityVersion = '5.2.0.BUILD-SNAPSHOT'
springRetryVersion = '1.2.4.RELEASE'
springVersion = project.hasProperty('springVersion') ? project.springVersion : '5.2.0.BUILD-SNAPSHOT'
springVersion = project.hasProperty('springVersion') ? project.springVersion : '5.2.0.RELEASE'
springWsVersion = '3.0.7.RELEASE'
tomcatVersion = "9.0.24"
tomcatVersion = "9.0.26"
xstreamVersion = '1.4.11.1'
}

View File

@@ -34,7 +34,7 @@ import org.springframework.data.mongodb.MongoDbFactory;
import org.springframework.data.mongodb.core.BulkOperations;
import org.springframework.data.mongodb.core.MongoOperations;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.SimpleMongoDbFactory;
import org.springframework.data.mongodb.core.SimpleMongoClientDbFactory;
import org.springframework.data.mongodb.core.convert.MongoConverter;
import org.springframework.data.mongodb.core.mapping.MongoMappingContext;
import org.springframework.data.mongodb.core.query.Criteria;
@@ -53,10 +53,10 @@ import org.springframework.messaging.PollableChannel;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.junit4.SpringRunner;
import com.mongodb.MongoClient;
import com.mongodb.client.MongoClients;
/**
* @author Xavier Padr?
* @author Xavier Padro
* @author Gary Russell
* @author Artem Bilan
*
@@ -326,7 +326,7 @@ public class MongoDbTests extends MongoDbAvailableTests {
@Bean
public MongoDbFactory mongoDbFactory() {
return new SimpleMongoDbFactory(new MongoClient(), "test");
return new SimpleMongoClientDbFactory(MongoClients.create(), "test");
}
@Bean

View File

@@ -24,7 +24,7 @@ import org.springframework.dao.DataAccessException;
import org.springframework.data.mapping.context.MappingContext;
import org.springframework.data.mongodb.MongoDbFactory;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.SimpleMongoDbFactory;
import org.springframework.data.mongodb.core.SimpleMongoClientDbFactory;
import org.springframework.data.mongodb.core.convert.DefaultDbRefResolver;
import org.springframework.data.mongodb.core.convert.MappingMongoConverter;
import org.springframework.data.mongodb.core.mapping.MongoPersistentEntity;
@@ -32,15 +32,15 @@ import org.springframework.data.mongodb.core.mapping.MongoPersistentProperty;
import org.springframework.integration.mongodb.outbound.MessageCollectionCallback;
import org.springframework.messaging.Message;
import com.mongodb.MongoClient;
import com.mongodb.MongoException;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
/**
* Convenience base class that enables unit test methods to rely upon the {@link MongoDbAvailable} annotation.
*
* @author Oleg Zhurakousky
* @author Xavier Padr?
* @author Xavier Padro
* @author Artem Bilan
*
* @since 2.1
@@ -52,7 +52,7 @@ public abstract class MongoDbAvailableTests {
protected MongoDbFactory prepareMongoFactory(String... additionalCollectionsToDrop) {
MongoDbFactory mongoDbFactory = new SimpleMongoDbFactory(new MongoClient(), "test");
MongoDbFactory mongoDbFactory = new SimpleMongoClientDbFactory(MongoClients.create(), "test");
cleanupCollections(mongoDbFactory, additionalCollectionsToDrop);
return mongoDbFactory;
}

View File

@@ -31,7 +31,7 @@ import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.context.support.GenericApplicationContext;
import org.springframework.data.mongodb.core.SimpleMongoDbFactory;
import org.springframework.data.mongodb.core.SimpleMongoClientDbFactory;
import org.springframework.integration.channel.DirectChannel;
import org.springframework.integration.channel.QueueChannel;
import org.springframework.integration.history.MessageHistory;
@@ -47,7 +47,7 @@ import org.springframework.messaging.Message;
import org.springframework.messaging.MessageChannel;
import org.springframework.messaging.support.GenericMessage;
import com.mongodb.MongoClient;
import com.mongodb.client.MongoClients;
/**
* @author Oleg Zhurakousky
@@ -59,6 +59,9 @@ public abstract class AbstractMongoDbMessageGroupStoreTests extends MongoDbAvail
protected final GenericApplicationContext testApplicationContext = TestUtils.createTestApplicationContext();
protected final SimpleMongoClientDbFactory clientDbFactory =
new SimpleMongoClientDbFactory(MongoClients.create(), "test");
@Before
public void setup() {
this.testApplicationContext.refresh();
@@ -67,12 +70,12 @@ public abstract class AbstractMongoDbMessageGroupStoreTests extends MongoDbAvail
@After
public void tearDown() {
this.testApplicationContext.close();
cleanupCollections(this.clientDbFactory);
}
@Test
@MongoDbAvailable
public void testNonExistingEmptyMessageGroup() throws Exception {
this.cleanupCollections(new SimpleMongoDbFactory(new MongoClient(), "test"));
public void testNonExistingEmptyMessageGroup() {
MessageGroupStore store = getMessageGroupStore();
store.addMessagesToGroup(1, new GenericMessage<Object>("foo"));
MessageGroup messageGroup = store.getMessageGroup(1);
@@ -83,13 +86,12 @@ public abstract class AbstractMongoDbMessageGroupStoreTests extends MongoDbAvail
@Test
@MongoDbAvailable
public void testMessageGroupWithAddedMessagePrimitiveGroupId() throws Exception {
this.cleanupCollections(new SimpleMongoDbFactory(new MongoClient(), "test"));
MessageGroupStore store = this.getMessageGroupStore();
MessageStore messageStore = this.getMessageStore();
public void testMessageGroupWithAddedMessagePrimitiveGroupId() {
MessageGroupStore store = getMessageGroupStore();
MessageStore messageStore = getMessageStore();
MessageGroup messageGroup = store.getMessageGroup(1);
Message<?> messageA = new GenericMessage<String>("A");
Message<?> messageB = new GenericMessage<String>("B");
Message<?> messageA = new GenericMessage<>("A");
Message<?> messageB = new GenericMessage<>("B");
store.addMessagesToGroup(1, messageA);
messageGroup = store.addMessageToGroup(1, messageB);
assertThat(messageGroup).isNotNull();
@@ -103,10 +105,9 @@ public abstract class AbstractMongoDbMessageGroupStoreTests extends MongoDbAvail
@Test
@MongoDbAvailable
public void testMessageGroupWithAddedMessageUUIDGroupIdAndUUIDHeader() throws Exception {
this.cleanupCollections(new SimpleMongoDbFactory(new MongoClient(), "test"));
MessageGroupStore store = this.getMessageGroupStore();
MessageStore messageStore = this.getMessageStore();
public void testMessageGroupWithAddedMessageUUIDGroupIdAndUUIDHeader() {
MessageGroupStore store = getMessageGroupStore();
MessageStore messageStore = getMessageStore();
Object id = UUID.randomUUID();
MessageGroup messageGroup = store.getMessageGroup(id);
UUID uuidA = UUID.randomUUID();
@@ -129,22 +130,20 @@ public abstract class AbstractMongoDbMessageGroupStoreTests extends MongoDbAvail
@Test
@MongoDbAvailable
public void testCountMessagesInGroup() throws Exception {
this.cleanupCollections(new SimpleMongoDbFactory(new MongoClient(), "test"));
MessageGroupStore store = this.getMessageGroupStore();
Message<?> messageA = new GenericMessage<String>("A");
Message<?> messageB = new GenericMessage<String>("B");
public void testCountMessagesInGroup() {
MessageGroupStore store = getMessageGroupStore();
Message<?> messageA = new GenericMessage<>("A");
Message<?> messageB = new GenericMessage<>("B");
store.addMessagesToGroup(1, messageA, messageB);
assertThat(store.messageGroupSize(1)).isEqualTo(2);
}
@Test
@MongoDbAvailable
public void testPollMessages() throws Exception {
this.cleanupCollections(new SimpleMongoDbFactory(new MongoClient(), "test"));
MessageGroupStore store = this.getMessageGroupStore();
Message<?> messageA = new GenericMessage<String>("A");
Message<?> messageB = new GenericMessage<String>("B");
public void testPollMessages() throws InterruptedException {
MessageGroupStore store = getMessageGroupStore();
Message<?> messageA = new GenericMessage<>("A");
Message<?> messageB = new GenericMessage<>("B");
store.addMessagesToGroup(1, messageA);
Thread.sleep(10);
store.addMessagesToGroup(1, messageB);
@@ -160,10 +159,9 @@ public abstract class AbstractMongoDbMessageGroupStoreTests extends MongoDbAvail
@Test
@MongoDbAvailable
public void testSameMessageMultipleGroupsPoll() throws Exception {
this.cleanupCollections(new SimpleMongoDbFactory(new MongoClient(), "test"));
MessageGroupStore store = this.getMessageGroupStore();
Message<?> messageA = new GenericMessage<String>("A");
public void testSameMessageMultipleGroupsPoll() {
MessageGroupStore store = getMessageGroupStore();
Message<?> messageA = new GenericMessage<>("A");
store.addMessagesToGroup(1, messageA);
store.addMessagesToGroup(2, messageA);
store.addMessagesToGroup(3, messageA);
@@ -196,11 +194,9 @@ public abstract class AbstractMongoDbMessageGroupStoreTests extends MongoDbAvail
@Test
@MongoDbAvailable
public void testSameMessageMultipleGroupsRemove() throws Exception {
this.cleanupCollections(new SimpleMongoDbFactory(new MongoClient(), "test"));
MessageGroupStore store = this.getMessageGroupStore();
Message<?> messageA = new GenericMessage<String>("A");
public void testSameMessageMultipleGroupsRemove() {
MessageGroupStore store = getMessageGroupStore();
Message<?> messageA = new GenericMessage<>("A");
store.addMessagesToGroup(1, messageA);
store.addMessagesToGroup(2, messageA);
store.addMessagesToGroup(3, messageA);
@@ -233,12 +229,11 @@ public abstract class AbstractMongoDbMessageGroupStoreTests extends MongoDbAvail
@Test
@MongoDbAvailable
public void testMessageGroupUpdatedDateChangesWithEachAddedMessage() throws Exception {
this.cleanupCollections(new SimpleMongoDbFactory(new MongoClient(), "test"));
MessageGroupStore store = this.getMessageGroupStore();
public void testMessageGroupUpdatedDateChangesWithEachAddedMessage() throws InterruptedException {
MessageGroupStore store = getMessageGroupStore();
MessageGroup messageGroup = store.getMessageGroup(1);
Message<?> message = new GenericMessage<String>("Hello");
Message<?> message = new GenericMessage<>("Hello");
messageGroup = store.addMessageToGroup(1, message);
assertThat(messageGroup).isNotNull();
assertThat(messageGroup.size()).isEqualTo(1);
@@ -246,7 +241,7 @@ public abstract class AbstractMongoDbMessageGroupStoreTests extends MongoDbAvail
long updatedTimestamp = messageGroup.getLastModified();
assertThat(updatedTimestamp).isEqualTo(createdTimestamp);
Thread.sleep(10);
message = new GenericMessage<String>("Hello again");
message = new GenericMessage<>("Hello again");
messageGroup = store.addMessageToGroup(1, message);
createdTimestamp = messageGroup.getTimestamp();
updatedTimestamp = messageGroup.getLastModified();
@@ -254,7 +249,7 @@ public abstract class AbstractMongoDbMessageGroupStoreTests extends MongoDbAvail
assertThat(messageGroup.size()).isEqualTo(2);
// make sure the store is properly rebuild from MongoDB
store = this.getMessageGroupStore();
store = getMessageGroupStore();
messageGroup = store.getMessageGroup(1);
assertThat(messageGroup.size()).isEqualTo(2);
@@ -262,13 +257,12 @@ public abstract class AbstractMongoDbMessageGroupStoreTests extends MongoDbAvail
@Test
@MongoDbAvailable
public void testMessageGroupMarkingMessage() throws Exception {
this.cleanupCollections(new SimpleMongoDbFactory(new MongoClient(), "test"));
MessageGroupStore store = this.getMessageGroupStore();
public void testMessageGroupMarkingMessage() {
MessageGroupStore store = getMessageGroupStore();
MessageGroup messageGroup = store.getMessageGroup(1);
Message<?> messageA = new GenericMessage<String>("A");
Message<?> messageB = new GenericMessage<String>("B");
Message<?> messageA = new GenericMessage<>("A");
Message<?> messageB = new GenericMessage<>("B");
store.addMessagesToGroup(1, messageA);
messageGroup = store.addMessageToGroup(1, messageB);
assertThat(messageGroup).isNotNull();
@@ -287,13 +281,12 @@ public abstract class AbstractMongoDbMessageGroupStoreTests extends MongoDbAvail
@Test
@MongoDbAvailable
public void testRemoveMessageGroup() throws Exception {
this.cleanupCollections(new SimpleMongoDbFactory(new MongoClient(), "test"));
MessageGroupStore store = this.getMessageGroupStore();
MessageStore messageStore = this.getMessageStore();
public void testRemoveMessageGroup() {
MessageGroupStore store = getMessageGroupStore();
MessageStore messageStore = getMessageStore();
MessageGroup messageGroup = store.getMessageGroup(1);
Message<?> message = new GenericMessage<String>("Hello");
Message<?> message = new GenericMessage<>("Hello");
UUID id = message.getHeaders().getId();
messageGroup = store.addMessageToGroup(1, message);
assertThat(messageGroup).isNotNull();
@@ -310,13 +303,12 @@ public abstract class AbstractMongoDbMessageGroupStoreTests extends MongoDbAvail
@Test
@MongoDbAvailable
public void testCompleteMessageGroup() throws Exception {
this.cleanupCollections(new SimpleMongoDbFactory(new MongoClient(), "test"));
MessageGroupStore store = this.getMessageGroupStore();
public void testCompleteMessageGroup() {
MessageGroupStore store = getMessageGroupStore();
MessageGroup messageGroup = store.getMessageGroup(1);
assertThat(messageGroup).isNotNull();
Message<?> message = new GenericMessage<String>("Hello");
Message<?> message = new GenericMessage<>("Hello");
store.addMessagesToGroup(messageGroup.getGroupId(), message);
store.completeGroup(messageGroup.getGroupId());
messageGroup = store.getMessageGroup(1);
@@ -325,13 +317,12 @@ public abstract class AbstractMongoDbMessageGroupStoreTests extends MongoDbAvail
@Test
@MongoDbAvailable
public void testLastReleasedSequenceNumber() throws Exception {
this.cleanupCollections(new SimpleMongoDbFactory(new MongoClient(), "test"));
MessageGroupStore store = this.getMessageGroupStore();
public void testLastReleasedSequenceNumber() {
MessageGroupStore store = getMessageGroupStore();
MessageGroup messageGroup = store.getMessageGroup(1);
assertThat(messageGroup).isNotNull();
Message<?> message = new GenericMessage<String>("Hello");
Message<?> message = new GenericMessage<>("Hello");
store.addMessagesToGroup(messageGroup.getGroupId(), message);
store.setLastReleasedSequenceNumberForGroup(messageGroup.getGroupId(), 5);
messageGroup = store.getMessageGroup(1);
@@ -340,14 +331,13 @@ public abstract class AbstractMongoDbMessageGroupStoreTests extends MongoDbAvail
@Test
@MongoDbAvailable
public void testRemoveMessageFromTheGroup() throws Exception {
this.cleanupCollections(new SimpleMongoDbFactory(new MongoClient(), "test"));
MessageGroupStore store = this.getMessageGroupStore();
public void testRemoveMessageFromTheGroup() {
MessageGroupStore store = getMessageGroupStore();
MessageGroup messageGroup = store.getMessageGroup(1);
Message<?> message = new GenericMessage<String>("2");
store.addMessagesToGroup(1, new GenericMessage<String>("1"), message);
messageGroup = store.addMessageToGroup(1, new GenericMessage<String>("3"));
Message<?> message = new GenericMessage<>("2");
store.addMessagesToGroup(1, new GenericMessage<>("1"), message);
messageGroup = store.addMessageToGroup(1, new GenericMessage<>("3"));
assertThat(messageGroup).isNotNull();
assertThat(messageGroup.size()).isEqualTo(3);
@@ -358,16 +348,14 @@ public abstract class AbstractMongoDbMessageGroupStoreTests extends MongoDbAvail
@Test
@MongoDbAvailable
public void testMultipleMessageStores() throws Exception {
public void testMultipleMessageStores() {
MessageGroupStore store1 = getMessageGroupStore();
MessageGroupStore store2 = getMessageGroupStore();
this.cleanupCollections(new SimpleMongoDbFactory(new MongoClient(), "test"));
MessageGroupStore store1 = this.getMessageGroupStore();
MessageGroupStore store2 = this.getMessageGroupStore();
Message<?> message = new GenericMessage<>("1");
store1.addMessagesToGroup(1, message, new GenericMessage<>("2"), new GenericMessage<>("3"));
Message<?> message = new GenericMessage<String>("1");
store1.addMessagesToGroup(1, message, new GenericMessage<String>("2"), new GenericMessage<String>("3"));
MessageGroupStore store3 = this.getMessageGroupStore();
MessageGroupStore store3 = getMessageGroupStore();
MessageGroup messageGroup = store3.getMessageGroup(1);
@@ -382,15 +370,14 @@ public abstract class AbstractMongoDbMessageGroupStoreTests extends MongoDbAvail
@Test
@MongoDbAvailable
public void testMessageGroupIterator() throws Exception {
this.cleanupCollections(new SimpleMongoDbFactory(new MongoClient(), "test"));
MessageGroupStore store1 = this.getMessageGroupStore();
MessageGroupStore store2 = this.getMessageGroupStore();
public void testMessageGroupIterator() {
MessageGroupStore store1 = getMessageGroupStore();
MessageGroupStore store2 = getMessageGroupStore();
Message<?> message = new GenericMessage<String>("1");
Message<?> message = new GenericMessage<>("1");
store2.addMessagesToGroup("1", message);
store1.addMessagesToGroup("2", new GenericMessage<String>("2"));
store2.addMessagesToGroup("3", new GenericMessage<String>("3"));
store1.addMessagesToGroup("2", new GenericMessage<>("2"));
store2.addMessagesToGroup("3", new GenericMessage<>("3"));
MessageGroupStore store3 = this.getMessageGroupStore();
Iterator<MessageGroup> iterator = store3.iterator();
@@ -415,12 +402,12 @@ public abstract class AbstractMongoDbMessageGroupStoreTests extends MongoDbAvail
@Test
@MongoDbAvailable
public void testAddAndRemoveMessagesFromMessageGroup() throws Exception {
MessageGroupStore messageStore = (MessageGroupStore) this.getMessageStore();
public void testAddAndRemoveMessagesFromMessageGroup() {
MessageGroupStore messageStore = (MessageGroupStore) getMessageStore();
String groupId = "X";
messageStore.removeMessageGroup("X");
((AbstractBatchingMessageGroupStore) messageStore).setRemoveBatchSize(10);
List<Message<?>> messages = new ArrayList<Message<?>>();
List<Message<?>> messages = new ArrayList<>();
for (int i = 0; i < 25; i++) {
Message<String> message = MessageBuilder.withPayload("foo").setCorrelationId(groupId).build();
messageStore.addMessagesToGroup(groupId, message);
@@ -433,52 +420,51 @@ public abstract class AbstractMongoDbMessageGroupStoreTests extends MongoDbAvail
assertThat(group.size()).isEqualTo(0);
}
// @Test
// @MongoDbAvailable
// public void testConcurrentModifications() throws Exception{
// MongoDbFactory mongoDbFactory = this.prepareMongoFactory();
// final MongoDbMessageStore store1 = new MongoDbMessageStore(mongoDbFactory);
// final MongoDbMessageStore store2 = new MongoDbMessageStore(mongoDbFactory);
//
// final Message<?> message = new GenericMessage<String>("1");
//
// ExecutorService executor = null;
//
// final List<Object> failures = new ArrayList<Object>();
//
// for (int i = 0; i < 100; i++) {
// executor = Executors.newCachedThreadPool();
//
// executor.execute(new Runnable() {
// public void run() {
// MessageGroup group = store1.addMessageToGroup(1, message);
// if (group.getUnmarked().size() != 1){
// failures.add("ADD");
// throw new AssertionFailedError("Failed on ADD");
// }
// }
// });
// executor.execute(new Runnable() {
// public void run() {
// MessageGroup group = store2.removeMessageFromGroup(1, message);
// if (group.getUnmarked().size() != 0){
// failures.add("REMOVE");
// throw new AssertionFailedError("Failed on Remove");
// }
// }
// });
//
// executor.shutdown();
// executor.awaitTermination(10, TimeUnit.SECONDS);
// store2.removeMessageFromGroup(1, message); // ensures that if ADD thread executed after REMOVE, the store is empty for the next cycle
// }
// assertTrue(failures.size() == 0);
// }
// @Test
// @MongoDbAvailable
// public void testConcurrentModifications() throws Exception{
// MongoDbFactory mongoDbFactory = this.prepareMongoFactory();
// final MongoDbMessageStore store1 = new MongoDbMessageStore(mongoDbFactory);
// final MongoDbMessageStore store2 = new MongoDbMessageStore(mongoDbFactory);
//
// final Message<?> message = new GenericMessage<String>("1");
//
// ExecutorService executor = null;
//
// final List<Object> failures = new ArrayList<Object>();
//
// for (int i = 0; i < 100; i++) {
// executor = Executors.newCachedThreadPool();
//
// executor.execute(new Runnable() {
// public void run() {
// MessageGroup group = store1.addMessageToGroup(1, message);
// if (group.getUnmarked().size() != 1){
// failures.add("ADD");
// throw new AssertionFailedError("Failed on ADD");
// }
// }
// });
// executor.execute(new Runnable() {
// public void run() {
// MessageGroup group = store2.removeMessageFromGroup(1, message);
// if (group.getUnmarked().size() != 0){
// failures.add("REMOVE");
// throw new AssertionFailedError("Failed on Remove");
// }
// }
// });
//
// executor.shutdown();
// executor.awaitTermination(10, TimeUnit.SECONDS);
// store2.removeMessageFromGroup(1, message); // ensures that if ADD thread executed after REMOVE, the
// store is empty for the next cycle
// }
// assertTrue(failures.size() == 0);
// }
protected void testWithAggregatorWithShutdown(String config) throws Exception {
this.cleanupCollections(new SimpleMongoDbFactory(new MongoClient(), "test"));
protected void testWithAggregatorWithShutdown(String config) {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(config, this.getClass());
context.refresh();
@@ -526,13 +512,12 @@ public abstract class AbstractMongoDbMessageGroupStoreTests extends MongoDbAvail
@Test
@MongoDbAvailable
public void testWithMessageHistory() throws Exception {
this.cleanupCollections(new SimpleMongoDbFactory(new MongoClient(), "test"));
MessageGroupStore store = this.getMessageGroupStore();
public void testWithMessageHistory() {
MessageGroupStore store = getMessageGroupStore();
store.getMessageGroup(1);
Message<?> message = new GenericMessage<String>("Hello");
Message<?> message = new GenericMessage<>("Hello");
DirectChannel fooChannel = new DirectChannel();
fooChannel.setBeanName("fooChannel");
DirectChannel barChannel = new DirectChannel();
@@ -555,8 +540,8 @@ public abstract class AbstractMongoDbMessageGroupStoreTests extends MongoDbAvail
assertThat(fooChannelHistory.get("type")).isEqualTo("channel");
}
protected abstract MessageGroupStore getMessageGroupStore() throws Exception;
protected abstract MessageGroupStore getMessageGroupStore();
protected abstract MessageStore getMessageStore() throws Exception;
protected abstract MessageStore getMessageStore();
}

View File

@@ -28,7 +28,7 @@ import org.junit.Test;
import org.springframework.context.support.GenericApplicationContext;
import org.springframework.data.annotation.PersistenceConstructor;
import org.springframework.data.mongodb.core.SimpleMongoDbFactory;
import org.springframework.data.mongodb.core.SimpleMongoClientDbFactory;
import org.springframework.integration.channel.DirectChannel;
import org.springframework.integration.history.MessageHistory;
import org.springframework.integration.message.AdviceMessage;
@@ -44,7 +44,7 @@ import org.springframework.messaging.MessagingException;
import org.springframework.messaging.support.ErrorMessage;
import org.springframework.messaging.support.GenericMessage;
import com.mongodb.MongoClient;
import com.mongodb.client.MongoClients;
/**
*
@@ -58,6 +58,9 @@ public abstract class AbstractMongoDbMessageStoreTests extends MongoDbAvailableT
protected final GenericApplicationContext testApplicationContext = TestUtils.createTestApplicationContext();
protected final SimpleMongoClientDbFactory clientDbFactory =
new SimpleMongoClientDbFactory(MongoClients.create(), "test");
@Before
public void setup() {
this.testApplicationContext.refresh();
@@ -66,12 +69,12 @@ public abstract class AbstractMongoDbMessageStoreTests extends MongoDbAvailableT
@After
public void tearDown() {
this.testApplicationContext.close();
cleanupCollections(this.clientDbFactory);
}
@Test
@MongoDbAvailable
public void testAddGetWithStringPayload() throws Exception {
cleanupCollections(new SimpleMongoDbFactory(new MongoClient(), "test"));
public void testAddGetWithStringPayload() {
MessageStore store = getMessageStore();
Message<?> messageToStore = MessageBuilder.withPayload("Hello").build();
store.addMessage(messageToStore);
@@ -85,8 +88,7 @@ public abstract class AbstractMongoDbMessageStoreTests extends MongoDbAvailableT
@Test
@MongoDbAvailable
public void testAddThenRemoveWithStringPayload() throws Exception {
cleanupCollections(new SimpleMongoDbFactory(new MongoClient(), "test"));
public void testAddThenRemoveWithStringPayload() {
MessageStore store = getMessageStore();
Message<?> messageToStore = MessageBuilder.withPayload("Hello").build();
store.addMessage(messageToStore);
@@ -100,8 +102,7 @@ public abstract class AbstractMongoDbMessageStoreTests extends MongoDbAvailableT
@Test
@MongoDbAvailable
public void testAddGetWithObjectDefaultConstructorPayload() throws Exception {
cleanupCollections(new SimpleMongoDbFactory(new MongoClient(), "test"));
public void testAddGetWithObjectDefaultConstructorPayload() {
MessageStore store = getMessageStore();
Person p = new Person();
p.setFname("John");
@@ -118,8 +119,7 @@ public abstract class AbstractMongoDbMessageStoreTests extends MongoDbAvailableT
@Test
@MongoDbAvailable
public void testWithMessageHistory() throws Exception {
cleanupCollections(new SimpleMongoDbFactory(new MongoClient(), "test"));
public void testWithMessageHistory() {
MessageStore store = getMessageStore();
Foo foo = new Foo();
foo.setName("foo");
@@ -156,8 +156,7 @@ public abstract class AbstractMongoDbMessageStoreTests extends MongoDbAvailableT
@Test
@MongoDbAvailable
public void testInt3153SequenceDetails() throws Exception {
cleanupCollections(new SimpleMongoDbFactory(new MongoClient(), "test"));
public void testInt3153SequenceDetails() {
MessageStore store = getMessageStore();
Message<?> messageToStore = MessageBuilder.withPayload("test")
.pushSequenceDetails(UUID.randomUUID(), 1, 1)
@@ -173,8 +172,8 @@ public abstract class AbstractMongoDbMessageStoreTests extends MongoDbAvailableT
@Test
@MongoDbAvailable
public void testInt3076MessageAsPayload() throws Exception {
MessageStore store = this.getMessageStore();
public void testInt3076MessageAsPayload() {
MessageStore store = getMessageStore();
Person p = new Person();
p.setFname("John");
p.setLname("Doe");
@@ -191,13 +190,13 @@ public abstract class AbstractMongoDbMessageStoreTests extends MongoDbAvailableT
@Test
@MongoDbAvailable
public void testInt3076AdviceMessage() throws Exception {
MessageStore store = this.getMessageStore();
public void testInt3076AdviceMessage() {
MessageStore store = getMessageStore();
Person p = new Person();
p.setFname("John");
p.setLname("Doe");
Message<Person> inputMessage = MessageBuilder.withPayload(p).build();
Message<?> messageToStore = new AdviceMessage<String>("foo", inputMessage);
Message<?> messageToStore = new AdviceMessage<>("foo", inputMessage);
store.addMessage(messageToStore);
Message<?> retrievedMessage = store.getMessage(messageToStore.getHeaders().getId());
assertThat(retrievedMessage).isNotNull();
@@ -210,13 +209,13 @@ public abstract class AbstractMongoDbMessageStoreTests extends MongoDbAvailableT
@Test
@MongoDbAvailable
public void testAdviceMessageAsPayload() throws Exception {
MessageStore store = this.getMessageStore();
public void testAdviceMessageAsPayload() {
MessageStore store = getMessageStore();
Person p = new Person();
p.setFname("John");
p.setLname("Doe");
Message<Person> inputMessage = MessageBuilder.withPayload(p).build();
Message<?> messageToStore = new GenericMessage<Message<?>>(new AdviceMessage<String>("foo", inputMessage));
Message<?> messageToStore = new GenericMessage<Message<?>>(new AdviceMessage<>("foo", inputMessage));
store.addMessage(messageToStore);
Message<?> retrievedMessage = store.getMessage(messageToStore.getHeaders().getId());
assertThat(retrievedMessage).isNotNull();
@@ -230,8 +229,8 @@ public abstract class AbstractMongoDbMessageStoreTests extends MongoDbAvailableT
@Test
@MongoDbAvailable
public void testMutableMessageAsPayload() throws Exception {
MessageStore store = this.getMessageStore();
public void testMutableMessageAsPayload() {
MessageStore store = getMessageStore();
Person p = new Person();
p.setFname("John");
p.setLname("Doe");
@@ -248,8 +247,8 @@ public abstract class AbstractMongoDbMessageStoreTests extends MongoDbAvailableT
@Test
@MongoDbAvailable
public void testInt3076ErrorMessage() throws Exception {
MessageStore store = this.getMessageStore();
public void testInt3076ErrorMessage() {
MessageStore store = getMessageStore();
Person p = new Person();
p.setFname("John");
p.setLname("Doe");
@@ -275,7 +274,7 @@ public abstract class AbstractMongoDbMessageStoreTests extends MongoDbAvailableT
@Test
@MongoDbAvailable
public void testAddAndUpdateAlreadySaved() throws Exception {
public void testAddAndUpdateAlreadySaved() {
MessageStore messageStore = getMessageStore();
Message<String> message = MessageBuilder.withPayload("foo").build();
message = messageStore.addMessage(message);
@@ -440,18 +439,15 @@ public abstract class AbstractMongoDbMessageStoreTests extends MongoDbAvailableT
return false;
}
if (lname == null) {
if (other.lname != null) {
return false;
}
return other.lname == null;
}
else if (!lname.equals(other.lname)) {
return false;
else {
return lname.equals(other.lname);
}
return true;
}
}
protected abstract MessageStore getMessageStore() throws Exception;
protected abstract MessageStore getMessageStore();
}

View File

@@ -27,8 +27,6 @@ import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.core.convert.converter.Converter;
import org.springframework.data.convert.ReadingConverter;
import org.springframework.data.mongodb.MongoDbFactory;
import org.springframework.data.mongodb.core.SimpleMongoDbFactory;
import org.springframework.integration.IntegrationMessageHeaderAccessor;
import org.springframework.integration.channel.PriorityChannel;
import org.springframework.integration.channel.QueueChannel;
@@ -40,8 +38,6 @@ import org.springframework.messaging.Message;
import org.springframework.messaging.MessageChannel;
import org.springframework.util.StopWatch;
import com.mongodb.MongoClient;
/**
* @author Amol Nayak
* @author Artem Bilan
@@ -50,22 +46,21 @@ import com.mongodb.MongoClient;
public class ConfigurableMongoDbMessageGroupStoreTests extends AbstractMongoDbMessageGroupStoreTests {
@Override
protected ConfigurableMongoDbMessageStore getMessageGroupStore() throws Exception {
MongoDbFactory mongoDbFactory = new SimpleMongoDbFactory(new MongoClient(), "test");
ConfigurableMongoDbMessageStore mongoDbMessageStore = new ConfigurableMongoDbMessageStore(mongoDbFactory);
protected ConfigurableMongoDbMessageStore getMessageGroupStore() {
ConfigurableMongoDbMessageStore mongoDbMessageStore = new ConfigurableMongoDbMessageStore(this.clientDbFactory);
mongoDbMessageStore.setApplicationContext(this.testApplicationContext);
mongoDbMessageStore.afterPropertiesSet();
return mongoDbMessageStore;
}
@Override
protected MessageStore getMessageStore() throws Exception {
return this.getMessageGroupStore();
protected MessageStore getMessageStore() {
return getMessageGroupStore();
}
@Test
@MongoDbAvailable
public void testWithAggregatorWithShutdown() throws Exception {
public void testWithAggregatorWithShutdown() {
super.testWithAggregatorWithShutdown("mongo-aggregator-configurable-config.xml");
}
@@ -73,8 +68,6 @@ public class ConfigurableMongoDbMessageGroupStoreTests extends AbstractMongoDbMe
@Ignore("The performance test. Enough slow. Also needs the release strategy changed to size() == 1000")
@MongoDbAvailable
public void messageGroupStoreLazyLoadPerformance() {
cleanupCollections(new SimpleMongoDbFactory(new MongoClient(), "test"));
StopWatch watch = new StopWatch("Lazy-Load Performance");
int sequenceSize = 1000;
@@ -83,7 +76,7 @@ public class ConfigurableMongoDbMessageGroupStoreTests extends AbstractMongoDbMe
performLazyLoadEagerTest(watch, sequenceSize, false);
// System. out .println(watch.prettyPrint()); // checkstyle
// System. out .println(watch.prettyPrint()); // checkstyle
}
private void performLazyLoadEagerTest(StopWatch watch, int sequenceSize, boolean lazyLoad) {
@@ -113,10 +106,10 @@ public class ConfigurableMongoDbMessageGroupStoreTests extends AbstractMongoDbMe
@Test
@MongoDbAvailable
public void testWithCustomConverter() throws Exception {
this.cleanupCollections(new SimpleMongoDbFactory(new MongoClient(), "test"));
public void testWithCustomConverter() {
ClassPathXmlApplicationContext context =
new ClassPathXmlApplicationContext("ConfigurableMongoDbMessageStore-CustomConverter.xml", this.getClass());
new ClassPathXmlApplicationContext("ConfigurableMongoDbMessageStore-CustomConverter.xml", this
.getClass());
context.refresh();
TestGateway gateway = context.getBean(TestGateway.class);
@@ -127,10 +120,10 @@ public class ConfigurableMongoDbMessageGroupStoreTests extends AbstractMongoDbMe
@Test
@MongoDbAvailable
public void testPriorityChannel() throws Exception {
this.cleanupCollections(new SimpleMongoDbFactory(new MongoClient(), "test"));
public void testPriorityChannel() {
ClassPathXmlApplicationContext context =
new ClassPathXmlApplicationContext("ConfigurableMongoDbMessageStore-CustomConverter.xml", this.getClass());
new ClassPathXmlApplicationContext("ConfigurableMongoDbMessageStore-CustomConverter.xml", this
.getClass());
context.refresh();
Object priorityChannel = context.getBean("priorityChannel");
@@ -138,7 +131,10 @@ public class ConfigurableMongoDbMessageGroupStoreTests extends AbstractMongoDbMe
QueueChannel channel = (QueueChannel) priorityChannel;
Message<String> message = MessageBuilder.withPayload("1").setHeader(IntegrationMessageHeaderAccessor.PRIORITY, 1).build();
Message<String> message =
MessageBuilder.withPayload("1")
.setHeader(IntegrationMessageHeaderAccessor.PRIORITY, 1)
.build();
channel.send(message);
message = MessageBuilder.withPayload("-1").setHeader(IntegrationMessageHeaderAccessor.PRIORITY, -1).build();
channel.send(message);

View File

@@ -17,12 +17,8 @@
package org.springframework.integration.mongodb.store;
import org.springframework.data.mongodb.MongoDbFactory;
import org.springframework.data.mongodb.core.SimpleMongoDbFactory;
import org.springframework.integration.store.MessageStore;
import com.mongodb.MongoClient;
/**
* @author Amol Nayak
* @author Artem Bilan
@@ -30,9 +26,8 @@ import com.mongodb.MongoClient;
public class ConfigurableMongoDbMessageStoreTests extends AbstractMongoDbMessageStoreTests {
@Override
protected MessageStore getMessageStore() throws Exception {
MongoDbFactory mongoDbFactory = new SimpleMongoDbFactory(new MongoClient(), "test");
ConfigurableMongoDbMessageStore mongoDbMessageStore = new ConfigurableMongoDbMessageStore(mongoDbFactory);
protected MessageStore getMessageStore() {
ConfigurableMongoDbMessageStore mongoDbMessageStore = new ConfigurableMongoDbMessageStore(this.clientDbFactory);
mongoDbMessageStore.setApplicationContext(this.testApplicationContext);
mongoDbMessageStore.afterPropertiesSet();
return mongoDbMessageStore;

View File

@@ -18,12 +18,9 @@ package org.springframework.integration.mongodb.store;
import org.junit.Test;
import org.springframework.data.mongodb.core.SimpleMongoDbFactory;
import org.springframework.integration.mongodb.rules.MongoDbAvailable;
import org.springframework.integration.store.MessageStore;
import com.mongodb.MongoClient;
/**
* @author Oleg Zhurakousky
* @author Gary Russell
@@ -33,21 +30,21 @@ import com.mongodb.MongoClient;
public class MongoDbMessageGroupStoreTests extends AbstractMongoDbMessageGroupStoreTests {
@Override
protected MongoDbMessageStore getMessageGroupStore() throws Exception {
protected MongoDbMessageStore getMessageGroupStore() {
MongoDbMessageStore mongoDbMessageStore =
new MongoDbMessageStore(new SimpleMongoDbFactory(new MongoClient(), "test"));
new MongoDbMessageStore(this.clientDbFactory);
mongoDbMessageStore.afterPropertiesSet();
return mongoDbMessageStore;
}
@Override
protected MessageStore getMessageStore() throws Exception {
return this.getMessageGroupStore();
protected MessageStore getMessageStore() {
return getMessageGroupStore();
}
@Test
@MongoDbAvailable
public void testWithAggregatorWithShutdown() throws Exception {
public void testWithAggregatorWithShutdown() {
super.testWithAggregatorWithShutdown("mongo-aggregator-config.xml");
}

View File

@@ -25,8 +25,7 @@ import org.junit.Before;
import org.junit.Test;
import org.springframework.context.support.GenericApplicationContext;
import org.springframework.data.mongodb.MongoDbFactory;
import org.springframework.data.mongodb.core.SimpleMongoDbFactory;
import org.springframework.data.mongodb.core.SimpleMongoClientDbFactory;
import org.springframework.integration.mongodb.rules.MongoDbAvailable;
import org.springframework.integration.mongodb.rules.MongoDbAvailableTests;
import org.springframework.integration.support.MessageBuilder;
@@ -35,7 +34,7 @@ import org.springframework.integration.transformer.ClaimCheckInTransformer;
import org.springframework.integration.transformer.ClaimCheckOutTransformer;
import org.springframework.messaging.Message;
import com.mongodb.MongoClient;
import com.mongodb.client.MongoClients;
/**
* @author Mark Fisher
@@ -45,6 +44,9 @@ public class MongoDbMessageStoreClaimCheckIntegrationTests extends MongoDbAvaila
private final GenericApplicationContext testApplicationContext = TestUtils.createTestApplicationContext();
private final SimpleMongoClientDbFactory clientDbFactory =
new SimpleMongoClientDbFactory(MongoClients.create(), "test");
@Before
public void setup() {
this.testApplicationContext.refresh();
@@ -57,9 +59,8 @@ public class MongoDbMessageStoreClaimCheckIntegrationTests extends MongoDbAvaila
@Test
@MongoDbAvailable
public void stringPayload() throws Exception {
MongoDbFactory mongoDbFactory = new SimpleMongoDbFactory(new MongoClient(), "test");
MongoDbMessageStore messageStore = new MongoDbMessageStore(mongoDbFactory);
public void stringPayload() {
MongoDbMessageStore messageStore = new MongoDbMessageStore(this.clientDbFactory);
messageStore.afterPropertiesSet();
ClaimCheckInTransformer checkin = new ClaimCheckInTransformer(messageStore);
ClaimCheckOutTransformer checkout = new ClaimCheckOutTransformer(messageStore);
@@ -74,9 +75,8 @@ public class MongoDbMessageStoreClaimCheckIntegrationTests extends MongoDbAvaila
@Test
@MongoDbAvailable
public void objectPayload() throws Exception {
MongoDbFactory mongoDbFactory = new SimpleMongoDbFactory(new MongoClient(), "test");
MongoDbMessageStore messageStore = new MongoDbMessageStore(mongoDbFactory);
public void objectPayload() {
MongoDbMessageStore messageStore = new MongoDbMessageStore(this.clientDbFactory);
messageStore.afterPropertiesSet();
ClaimCheckInTransformer checkin = new ClaimCheckInTransformer(messageStore);
ClaimCheckOutTransformer checkout = new ClaimCheckOutTransformer(messageStore);
@@ -95,9 +95,8 @@ public class MongoDbMessageStoreClaimCheckIntegrationTests extends MongoDbAvaila
@Test
@MongoDbAvailable
public void stringPayloadConfigurable() throws Exception {
MongoDbFactory mongoDbFactory = new SimpleMongoDbFactory(new MongoClient(), "test");
ConfigurableMongoDbMessageStore messageStore = new ConfigurableMongoDbMessageStore(mongoDbFactory);
public void stringPayloadConfigurable() {
ConfigurableMongoDbMessageStore messageStore = new ConfigurableMongoDbMessageStore(this.clientDbFactory);
messageStore.setApplicationContext(this.testApplicationContext);
messageStore.afterPropertiesSet();
ClaimCheckInTransformer checkin = new ClaimCheckInTransformer(messageStore);
@@ -113,9 +112,8 @@ public class MongoDbMessageStoreClaimCheckIntegrationTests extends MongoDbAvaila
@Test
@MongoDbAvailable
public void objectPayloadConfigurable() throws Exception {
MongoDbFactory mongoDbFactory = new SimpleMongoDbFactory(new MongoClient(), "test");
ConfigurableMongoDbMessageStore messageStore = new ConfigurableMongoDbMessageStore(mongoDbFactory);
public void objectPayloadConfigurable() {
ConfigurableMongoDbMessageStore messageStore = new ConfigurableMongoDbMessageStore(this.clientDbFactory);
messageStore.setApplicationContext(this.testApplicationContext);
messageStore.afterPropertiesSet();
ClaimCheckInTransformer checkin = new ClaimCheckInTransformer(messageStore);
@@ -202,10 +200,7 @@ public class MongoDbMessageStoreClaimCheckIntegrationTests extends MongoDbAvaila
else if (!name.equals(other.name)) {
return false;
}
if (shots != other.shots) {
return false;
}
return true;
return shots == other.shots;
}
}

View File

@@ -25,13 +25,10 @@ import org.junit.Test;
import org.springframework.core.convert.converter.Converter;
import org.springframework.data.convert.WritingConverter;
import org.springframework.data.mongodb.core.SimpleMongoDbFactory;
import org.springframework.integration.mongodb.rules.MongoDbAvailable;
import org.springframework.integration.store.MessageStore;
import org.springframework.messaging.support.GenericMessage;
import com.mongodb.MongoClient;
/**
* @author Mark Fisher
* @author Oleg Zhurakousky
@@ -42,8 +39,7 @@ public class MongoDbMessageStoreTests extends AbstractMongoDbMessageStoreTests {
@Override
protected MessageStore getMessageStore() {
MongoDbMessageStore mongoDbMessageStore =
new MongoDbMessageStore(new SimpleMongoDbFactory(new MongoClient(), "test"));
MongoDbMessageStore mongoDbMessageStore = new MongoDbMessageStore(this.clientDbFactory);
mongoDbMessageStore.afterPropertiesSet();
return mongoDbMessageStore;
}
@@ -51,8 +47,7 @@ public class MongoDbMessageStoreTests extends AbstractMongoDbMessageStoreTests {
@Test
@MongoDbAvailable
public void testCustomConverter() throws InterruptedException {
MongoDbMessageStore mongoDbMessageStore =
new MongoDbMessageStore(new SimpleMongoDbFactory(new MongoClient(), "test"));
MongoDbMessageStore mongoDbMessageStore = new MongoDbMessageStore(this.clientDbFactory);
FooToBytesConverter fooToBytesConverter = new FooToBytesConverter();
mongoDbMessageStore.setCustomConverters(fooToBytesConverter);
mongoDbMessageStore.afterPropertiesSet();