package com.nb.admin; import cn.hutool.json.JSONUtil; import com.nb.common.queue.delay.message.DelayMessage; import com.nb.core.Value; import com.nb.web.service.bus.controller.BusHospitalLogController; import com.nb.web.api.entity.BusHospitalLogEntity; import com.nb.web.service.bus.service.LocalBusHospitalLogService; import org.junit.Test; import org.junit.runner.RunWith; import org.redisson.api.RBlockingQueue; import org.redisson.api.RDelayedQueue; import org.redisson.api.RedissonClient; import org.redisson.client.RedisClient; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import java.util.List; import java.util.concurrent.TimeUnit; /** * @author lifang * @version 1.0.0 * @ClassName BusHospitalTest.java * @Description TODO * @createTime 2022年03月19日 10:27:00 */ @RunWith(SpringRunner.class) @SpringBootTest(classes = AdminApplication.class) public class BusHospitalLogTest { @Autowired private LocalBusHospitalLogService logService; @Autowired private BusHospitalLogController logController; @Autowired RedissonClient redissonClient; @Test public void save(){ int count=0; RBlockingQueue test = redissonClient.getBlockingQueue("test"); RDelayedQueue delayedQueue = redissonClient.getDelayedQueue(test); test.subscribeOnElements(i->{ // test.poll(); // delayedQueue.remove(i); System.out.println("第"+count+"次接收到消息:" + JSONUtil.toJsonStr(i)); }); for (int i = 0; i < 100; i++) { delayedQueue.offer(new DelayMessage(Value.simple(i),"test",null),10, TimeUnit.SECONDS); } while (true){ } } @Test public void query(){ List list = logService.list(); System.out.println(list); } }