### Question:
RedisMsPublisher extends AbstractDefaultMsPublisher { @Override public Boolean offline(TacInst tacInst) { String msCode = tacInst.getMsCode(); TacMsPublishMeta publishMeta = new TacMsPublishMeta(tacInst, TacMsConstants.INST_STATUS_OFFLINE); hashOperations.put(getMainKey(), msCode, publishMeta); redisTopicTemplate.convertAndSend(getPublishChannel(), JSONObject.toJSONString(publishMeta)); return true; }  @Override Boolean publish(TacInst tacInst, byte[] data); @Override Boolean offline(TacInst tacInst); @Override Boolean prePublish(TacInst tacInst, byte[] data); @Override TacInst gitPrePublish(TacMsDO tacMsDO, TacInst tacInst);  }### Answer:
@Test public void offline() throws InterruptedException { TacInst abc = iMsInstService.getTacMsInst(1L); Boolean offline = redisMsPublisher.offline(abc); assertTrue(offline); countDownLatch.await(); }