private long initHeartbeatTaskDelay() { if (getHeartbeatValue() == null) { return 0; } else if (getHeartbeatValue()[0] > 0 && getHeartbeatValue()[1] > 0) { return Math.min(getHeartbeatValue()[0], getHeartbeatValue()[1]); } else { return (getHeartbeatValue()[0] > 0 ? getHeartbeatValue()[0] : getHeartbeatValue()[1]); } }
@Override public void startInternal() { publishBrokerAvailableEvent(); if (this.taskScheduler != null) { long interval = initHeartbeatTaskDelay(); if (interval > 0) { this.heartbeatFuture = this.taskScheduler.scheduleWithFixedDelay(new HeartbeatTask(), interval); } } else { Assert.isTrue(getHeartbeatValue() == null || (getHeartbeatValue()[0] == 0 && getHeartbeatValue()[1] == 0), "Heartbeat values configured but no TaskScheduler provided"); } }
@Test public void heartbeatValueWithAndWithoutTaskScheduler() { assertNull(this.messageHandler.getHeartbeatValue()); this.messageHandler.setTaskScheduler(this.taskScheduler); assertNotNull(this.messageHandler.getHeartbeatValue()); assertArrayEquals(new long[] {10000, 10000}, this.messageHandler.getHeartbeatValue()); }
@Test public void taskScheduler() { ApplicationContext config = createConfig(TestChannelConfig.class, TestConfigurer.class); String name = "messageBrokerSockJsTaskScheduler"; ThreadPoolTaskScheduler taskScheduler = config.getBean(name, ThreadPoolTaskScheduler.class); ScheduledThreadPoolExecutor executor = taskScheduler.getScheduledThreadPoolExecutor(); assertEquals(Runtime.getRuntime().availableProcessors(), executor.getCorePoolSize()); assertTrue(executor.getRemoveOnCancelPolicy()); SimpleBrokerMessageHandler handler = config.getBean(SimpleBrokerMessageHandler.class); assertNotNull(handler.getTaskScheduler()); assertArrayEquals(new long[] {15000, 15000}, handler.getHeartbeatValue()); }
private long initHeartbeatTaskDelay() { if (getHeartbeatValue() == null) { return 0; } else if (getHeartbeatValue()[0] > 0 && getHeartbeatValue()[1] > 0) { return Math.min(getHeartbeatValue()[0], getHeartbeatValue()[1]); } else { return (getHeartbeatValue()[0] > 0 ? getHeartbeatValue()[0] : getHeartbeatValue()[1]); } }
if (sessionId != null) { long[] heartbeatIn = SimpMessageHeaderAccessor.getHeartbeat(headers); long[] heartbeatOut = getHeartbeatValue(); Principal user = SimpMessageHeaderAccessor.getUser(headers); MessageChannel outChannel = getClientOutboundChannelForSession(sessionId);
assertEquals("my-selector", registry.getSelectorHeaderName()); assertNotNull(brokerMessageHandler.getTaskScheduler()); assertArrayEquals(new long[] {15000, 15000}, brokerMessageHandler.getHeartbeatValue()); assertTrue(brokerMessageHandler.isPreservePublishOrder());
@Override public void startInternal() { publishBrokerAvailableEvent(); if (this.taskScheduler != null) { long interval = initHeartbeatTaskDelay(); if (interval > 0) { this.heartbeatFuture = this.taskScheduler.scheduleWithFixedDelay(new HeartbeatTask(), interval); } } else { Assert.isTrue(getHeartbeatValue() == null || (getHeartbeatValue()[0] == 0 && getHeartbeatValue()[1] == 0), "Heartbeat values configured but no TaskScheduler provided"); } }
private long initHeartbeatTaskDelay() { if (getHeartbeatValue() == null) { return 0; } else if (getHeartbeatValue()[0] > 0 && getHeartbeatValue()[1] > 0) { return Math.min(getHeartbeatValue()[0], getHeartbeatValue()[1]); } else { return (getHeartbeatValue()[0] > 0 ? getHeartbeatValue()[0] : getHeartbeatValue()[1]); } }
private long initHeartbeatTaskDelay() { if (getHeartbeatValue() == null) { return 0; } else if (getHeartbeatValue()[0] > 0 && getHeartbeatValue()[1] > 0) { return Math.min(getHeartbeatValue()[0], getHeartbeatValue()[1]); } else { return (getHeartbeatValue()[0] > 0 ? getHeartbeatValue()[0] : getHeartbeatValue()[1]); } }
if (sessionId != null) { long[] heartbeatIn = SimpMessageHeaderAccessor.getHeartbeat(headers); long[] heartbeatOut = getHeartbeatValue(); Principal user = SimpMessageHeaderAccessor.getUser(headers); MessageChannel outChannel = getClientOutboundChannelForSession(sessionId);
@Override public void startInternal() { publishBrokerAvailableEvent(); if (this.taskScheduler != null) { long interval = initHeartbeatTaskDelay(); if (interval > 0) { this.heartbeatFuture = this.taskScheduler.scheduleWithFixedDelay(new HeartbeatTask(), interval); } } else { Assert.isTrue(getHeartbeatValue() == null || (getHeartbeatValue()[0] == 0 && getHeartbeatValue()[1] == 0), "Heartbeat values configured but no TaskScheduler provided"); } }
@Override public void startInternal() { publishBrokerAvailableEvent(); if (this.taskScheduler != null) { long interval = initHeartbeatTaskDelay(); if (interval > 0) { this.heartbeatFuture = this.taskScheduler.scheduleWithFixedDelay(new HeartbeatTask(), interval); } } else { Assert.isTrue(getHeartbeatValue() == null || (getHeartbeatValue()[0] == 0 && getHeartbeatValue()[1] == 0), "Heartbeat values configured but no TaskScheduler provided"); } }
if (sessionId != null) { long[] heartbeatIn = SimpMessageHeaderAccessor.getHeartbeat(headers); long[] heartbeatOut = getHeartbeatValue(); Principal user = SimpMessageHeaderAccessor.getUser(headers); MessageChannel outChannel = getClientOutboundChannelForSession(sessionId);
if (sessionId != null) { long[] heartbeatIn = SimpMessageHeaderAccessor.getHeartbeat(headers); long[] heartbeatOut = getHeartbeatValue(); Principal user = SimpMessageHeaderAccessor.getUser(headers); MessageChannel outChannel = getClientOutboundChannelForSession(sessionId);