Skip to content

Commit 60b355b

Browse files
committed
Move subscription to PUB after connection
Looks like `subSocket.subscribe("test");` is lost when there is no other side of PUB/SUB connection
1 parent 353e99a commit 60b355b

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

spring-integration-zeromq/src/test/java/org/springframework/integration/zeromq/outbound/ZeroMqMessageHandlerTests.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,6 @@ void testMessageHandlerForPubSub() {
9090
ZMQ.Socket subSocket = CONTEXT.createSocket(SocketType.SUB);
9191
subSocket.setReceiveTimeOut(20_000);
9292
int port = subSocket.bindToRandomPort("tcp://*");
93-
subSocket.subscribe("test");
9493

9594
ZeroMqMessageHandler messageHandler =
9695
new ZeroMqMessageHandler(CONTEXT, "tcp://localhost:" + port, SocketType.PUB);
@@ -104,14 +103,16 @@ void testMessageHandlerForPubSub() {
104103

105104
await().atMost(Duration.ofSeconds(20)).pollDelay(Duration.ofMillis(100))
106105
.untilAsserted(() -> {
107-
messageHandler.handleMessage(testMessage).subscribe();
108-
ZMsg msg = ZMsg.recvMsg(subSocket);
109-
assertThat(msg).isNotNull();
110-
assertThat(msg.unwrap().getString(ZMQ.CHARSET)).isEqualTo("testTopic");
111-
Message<?> capturedMessage = new EmbeddedJsonHeadersMessageMapper().toMessage(msg.getFirst().getData());
112-
assertThat(capturedMessage).isEqualTo(testMessage);
113-
msg.destroy();
114-
});
106+
subSocket.subscribe("test");
107+
messageHandler.handleMessage(testMessage).subscribe();
108+
ZMsg msg = ZMsg.recvMsg(subSocket);
109+
assertThat(msg).isNotNull();
110+
assertThat(msg.unwrap().getString(ZMQ.CHARSET)).isEqualTo("testTopic");
111+
Message<?> capturedMessage =
112+
new EmbeddedJsonHeadersMessageMapper().toMessage(msg.getFirst().getData());
113+
assertThat(capturedMessage).isEqualTo(testMessage);
114+
msg.destroy();
115+
});
115116

116117
messageHandler.destroy();
117118
subSocket.close();

0 commit comments

Comments
 (0)