@Override public final void stop() { synchronized (this.lifecycleMonitor) { this.running = false; this.clientInboundChannel.unsubscribe(this); this.brokerChannel.unsubscribe(this); } }
@Override public final void stop() { synchronized (this.lifecycleMonitor) { this.running = false; this.clientInboundChannel.unsubscribe(this); } }
@Override public void stop() { synchronized (this.lifecycleMonitor) { logger.info("Stopping..."); stopInternal(); this.clientInboundChannel.unsubscribe(this); this.brokerChannel.unsubscribe(this); if (this.clientInboundChannel instanceof InterceptableChannel) { ((InterceptableChannel) this.clientInboundChannel).removeInterceptor(this.unsentDisconnectInterceptor); } this.running = false; logger.info("Stopped."); } }
@Override public final void stop() { synchronized (this.lifecycleMonitor) { this.running = false; this.clientOutboundChannel.unsubscribe(this); } // Proactively notify all active WebSocket sessions for (WebSocketSessionHolder holder : this.sessions.values()) { try { holder.getSession().close(CloseStatus.GOING_AWAY); } catch (Throwable ex) { if (logger.isWarnEnabled()) { logger.warn("Failed to close '" + holder.getSession() + "': " + ex); } } } }
@Override public final void stop() { synchronized (this.lifecycleMonitor) { this.running = false; this.clientInboundChannel.unsubscribe(this); } }
@Override public final void stop() { synchronized (this.lifecycleMonitor) { this.running = false; this.clientInboundChannel.unsubscribe(this); this.brokerChannel.unsubscribe(this); } }
@SuppressWarnings("unused") @PreDestroy public void preDestroy() { if (myProcessingChannel != null) { myProcessingChannel.unsubscribe(mySubscriptionMatchingSubscriber); } }
public void unregister(MessageHandler theMessageHandler) { if (mySubscribableChannel != null) { mySubscribableChannel.unsubscribe(theMessageHandler); if (mySubscribableChannel instanceof DisposableBean) { try { ((DisposableBean) mySubscribableChannel).destroy(); } catch (Exception e) { ourLog.error("Failed to destroy channel bean", e); } } } }
@Override protected void doStop() { this.logComponentSubscriptionEvent(false); this.inputChannel.unsubscribe(this.handler); if (this.handler instanceof Lifecycle) { ((Lifecycle) this.handler).stop(); } }
@After public void tearDown() { if (this.handler != null) { responseChannel.unsubscribe(this.handler); } }
@Override @SuppressWarnings("unchecked") public void subscribe(Subscriber<? super Message<T>> subscriber) { Flux. <Message<?>>create(emitter -> { MessageHandler messageHandler = emitter::next; this.channel.subscribe(messageHandler); emitter.onCancel(() -> this.channel.unsubscribe(messageHandler)); }, FluxSink.OverflowStrategy.IGNORE) .subscribe((Subscriber<? super Message<?>>) subscriber); }
@Test @SuppressWarnings("unchecked") public void testIgnoredHeader() { MessageHandler messageHandler = mock(MessageHandler.class); ((SubscribableChannel) this.errorChannel).subscribe(messageHandler); this.ignoredHeaderGateway.service("foo", "theHeaderValue"); ArgumentCaptor<Message<?>> messageArgumentCaptor = ArgumentCaptor.forClass(Message.class); verify(messageHandler).handleMessage(messageArgumentCaptor.capture()); Message<?> message = messageArgumentCaptor.getValue(); assertFalse(message.getHeaders().containsKey(IGNORE_HEADER)); ((SubscribableChannel) this.errorChannel).unsubscribe(messageHandler); }
@Test public void testOutboundDefaultInboundReplyTrueRequestFalse() { this.outboundGateway.setExtractRequestPayload(true); this.outboundGateway.setExtractReplyPayload(true); this.inboundGateway.setExtractReplyPayload(true); this.inboundGateway.setExtractRequestPayload(false); MessageHandler handler = unwrapTextMessageAndEchoHandler(); this.jmsInputChannel.subscribe(handler); this.outboundChannel.send(new GenericMessage<String>("Hello " + this.testName.getMethodName())); Message<?> replyMessage = this.replyChannel.receive(10000); assertThat(replyMessage.getPayload(), instanceOf(String.class)); this.jmsInputChannel.unsubscribe(handler); }
@Test public void testOutboundRequestFalseReplyTrueInboundDefault() { this.outboundGateway.setExtractRequestPayload(false); this.outboundGateway.setExtractReplyPayload(true); this.inboundGateway.setExtractReplyPayload(true); this.inboundGateway.setExtractRequestPayload(true); MessageHandler handler = echoInboundStringHandler(); this.jmsInputChannel.subscribe(handler); this.outboundChannel.send(new GenericMessage<String>("Hello " + this.testName.getMethodName())); Message<?> replyMessage = this.replyChannel.receive(10000); assertThat(replyMessage.getPayload(), instanceOf(String.class)); this.jmsInputChannel.unsubscribe(handler); }
@Test public void testOutboundBothFalseInboundDefault() { this.outboundGateway.setExtractRequestPayload(false); this.outboundGateway.setExtractReplyPayload(false); this.inboundGateway.setExtractReplyPayload(true); this.inboundGateway.setExtractRequestPayload(true); MessageHandler handler = echoInboundStringHandler(); this.jmsInputChannel.subscribe(handler); this.outboundChannel.send(new GenericMessage<String>("Hello " + this.testName.getMethodName())); Message<?> replyMessage = this.replyChannel.receive(10000); assertThat(replyMessage.getPayload(), instanceOf(javax.jms.TextMessage.class)); this.jmsInputChannel.unsubscribe(handler); }
@Test public void testOutboundDefaultInboundBothFalse() throws Exception { this.outboundGateway.setExtractRequestPayload(true); this.outboundGateway.setExtractReplyPayload(true); this.inboundGateway.setExtractReplyPayload(false); this.inboundGateway.setExtractRequestPayload(false); MessageHandler handler = unwrapTextMessageAndEchoHandler(); this.jmsInputChannel.subscribe(handler); this.outboundChannel.send(new GenericMessage<String>("Hello " + this.testName.getMethodName())); Message<?> replyMessage = this.replyChannel.receive(10000); assertThat(replyMessage.getPayload(), instanceOf(String.class)); this.jmsInputChannel.unsubscribe(handler); }
@Test public void testAllFalse() throws Exception { this.outboundGateway.setExtractRequestPayload(false); this.outboundGateway.setExtractReplyPayload(false); this.inboundGateway.setExtractReplyPayload(false); this.inboundGateway.setExtractRequestPayload(false); MessageHandler handler = unwrapObjectMessageAndEchoHandler(); this.jmsInputChannel.subscribe(handler); this.outboundChannel.send(new GenericMessage<String>("Hello " + this.testName.getMethodName())); Message<?> replyMessage = this.replyChannel.receive(10000); assertThat(replyMessage.getPayload(), instanceOf(javax.jms.Message.class)); this.jmsInputChannel.unsubscribe(handler); }
@Test public void testOutboundDefaultInboundReplyFalseRequestTrue() { this.outboundGateway.setExtractRequestPayload(true); this.outboundGateway.setExtractReplyPayload(true); this.inboundGateway.setExtractReplyPayload(false); this.inboundGateway.setExtractRequestPayload(true); MessageHandler handler = echoInboundStringHandler(); this.jmsInputChannel.subscribe(handler); this.outboundChannel.send(new GenericMessage<String>("Hello " + this.testName.getMethodName())); Message<?> replyMessage = this.replyChannel.receive(10000); assertTrue(replyMessage.getPayload() instanceof String); this.jmsInputChannel.unsubscribe(handler); }
@Test public void testOutboundRequestTrueReplyFalseInboundDefault() { this.outboundGateway.setExtractRequestPayload(true); this.outboundGateway.setExtractReplyPayload(false); this.inboundGateway.setExtractReplyPayload(true); this.inboundGateway.setExtractRequestPayload(true); MessageHandler handler = echoInboundStringHandler(); this.jmsInputChannel.subscribe(handler); this.outboundChannel.send(new GenericMessage<String>("Hello " + this.testName.getMethodName())); Message<?> replyMessage = this.replyChannel.receive(10000); assertTrue(replyMessage.getPayload() instanceof javax.jms.Message); this.jmsInputChannel.unsubscribe(handler); }
@Test public void testOutboundInboundDefault() { this.outboundGateway.setExtractRequestPayload(true); this.outboundGateway.setExtractReplyPayload(true); this.inboundGateway.setExtractReplyPayload(true); this.inboundGateway.setExtractRequestPayload(true); MessageHandler handler = echoInboundStringHandler(); this.jmsInputChannel.subscribe(handler); this.outboundChannel.send(new GenericMessage<String>("Hello " + this.testName.getMethodName())); Message<?> replyMessage = this.replyChannel.receive(10000); assertTrue(replyMessage.getPayload() instanceof String); this.jmsInputChannel.unsubscribe(handler); }