Skip to content

Commit 240c22f

Browse files
committed
Merge branch '4.0.x' into 4.1.x
2 parents e2dd32b + efc638c commit 240c22f

File tree

3 files changed

+24
-1
lines changed

3 files changed

+24
-1
lines changed

spring-ws-platform/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ dependencies {
4747
api("org.aspectj:aspectjrt:1.9.24")
4848
api("org.aspectj:aspectjweaver:1.9.24")
4949
api("org.assertj:assertj-core:3.27.3")
50+
api("org.awaitility:awaitility:4.3.0")
5051
api("org.dom4j:dom4j:2.1.4")
5152
api("org.easymock:easymock:5.5.0")
5253
api("org.eclipse.angus:angus-mail:2.0.3")

spring-ws-support/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ dependencies {
3434
testImplementation("org.apache.logging.log4j:log4j-core")
3535
testImplementation("org.apache.logging.log4j:log4j-slf4j2-impl")
3636
testImplementation("org.assertj:assertj-core")
37+
testImplementation("org.awaitility:awaitility")
3738
testImplementation("org.junit.jupiter:junit-jupiter")
3839
testImplementation("org.slf4j:slf4j-api")
3940
testImplementation("org.springframework:spring-test")

spring-ws-support/src/test/java/org/springframework/ws/transport/jms/JmsMessageSenderIntegrationTests.java

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,14 @@
2626
import jakarta.jms.ConnectionFactory;
2727
import jakarta.jms.JMSException;
2828
import jakarta.jms.Message;
29+
import jakarta.jms.QueueBrowser;
30+
import jakarta.jms.Session;
2931
import jakarta.jms.TextMessage;
3032
import jakarta.xml.soap.MessageFactory;
3133
import jakarta.xml.soap.SOAPConstants;
3234
import jakarta.xml.soap.SOAPException;
3335
import org.apache.activemq.ActiveMQConnectionFactory;
36+
import org.awaitility.Awaitility;
3437
import org.junit.jupiter.api.Test;
3538

3639
import org.springframework.beans.factory.annotation.Autowired;
@@ -40,6 +43,8 @@
4043
import org.springframework.jms.annotation.EnableJms;
4144
import org.springframework.jms.annotation.JmsListener;
4245
import org.springframework.jms.config.DefaultJmsListenerContainerFactory;
46+
import org.springframework.jms.core.BrowserCallback;
47+
import org.springframework.jms.core.JmsTemplate;
4348
import org.springframework.jms.core.MessagePostProcessor;
4449
import org.springframework.messaging.handler.annotation.SendTo;
4550
import org.springframework.messaging.support.MessageBuilder;
@@ -60,6 +65,9 @@ class JmsMessageSenderIntegrationTests {
6065

6166
private static final MessageFactory messageFactory = createMessageFactory();
6267

68+
@Autowired
69+
private ConnectionFactory connectionFactory;
70+
6371
@Autowired
6472
private JmsMessageSender messageSender;
6573

@@ -100,6 +108,7 @@ void testSendAndReceiveQueueBytesMessagePermanentQueue() throws Exception {
100108
assertNonEmptyByteMessage(message);
101109
return createEmptySoapMessage();
102110
});
111+
waitForReply(responseQueueName);
103112

104113
SoapMessage response = (SoapMessage) connection.receive(new SaajSoapMessageFactory(messageFactory));
105114
assertThat(response).isNotNull();
@@ -203,6 +212,18 @@ private static MessageFactory createMessageFactory() {
203212
}
204213
}
205214

215+
private void waitForReply(String destinationName) {
216+
JmsTemplate jmsTemplate = new JmsTemplate(this.connectionFactory);
217+
Awaitility.await()
218+
.atMost(Duration.ofSeconds(3))
219+
.until(() -> jmsTemplate.browse(destinationName, new BrowserCallback<Boolean>() {
220+
@Override
221+
public Boolean doInJms(Session session, QueueBrowser browser) throws JMSException {
222+
return browser.getEnumeration().hasMoreElements();
223+
}
224+
}));
225+
}
226+
206227
static class TestJmsListener {
207228

208229
private ThrowingFunction<jakarta.jms.Message, Object> messageHandler;
@@ -239,7 +260,7 @@ public DefaultJmsListenerContainerFactory jmsListenerContainerFactory(Connection
239260
@Bean
240261
JmsMessageSender messageSender(ConnectionFactory connectionFactory) {
241262
JmsMessageSender messageSender = new JmsMessageSender(connectionFactory);
242-
messageSender.setReceiveTimeout(Duration.ofSeconds(2).toMillis());
263+
messageSender.setReceiveTimeout(Duration.ofSeconds(1).toMillis());
243264
return messageSender;
244265
}
245266

0 commit comments

Comments
 (0)