|
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.BoundListOperations;
import org.springframework.data.redis.core.RedisTemplate;
import com.qmtt.api.web.controller.TaskController;
public>private static final Logger log = Logger.getLogger(TaskController.class);
@Value(
"${redis.queue}")public String queueName; @Autowired
RedisTemplate redisTemplate;
BoundListOperations
<String, String> listRedisTemplate;
public void pushMsg(String value) { listRedisTemplate.leftPush(value);
}
class ListenerThread extends Thread { @Override
public void run() {try {while (true) { String value
= listRedisTemplate.rightPop();if (StringUtils.isNotEmpty(value)) {
}
System.out.println(value);
Thread.sleep(
5000); }
}
catch (Exception e) { log.error(
"", e); }
}
}
@Override
public void afterPropertiesSet() throws Exception { listRedisTemplate
= redisTemplate.boundListOps(queueName);// 启动监听 ListenerThread thread = new ListenerThread();
thread.setDaemon(true);
thread.start();
}
}
package com.qmtt.api.message.consumer;
import org.apache.commons.lang.StringUtils;import org.apache.log4j.Logger;import org.springframework.beans.factory.InitializingBean;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Value;import org.springframework.data.redis.core.BoundListOperations;import org.springframework.data.redis.core.RedisTemplate;
import com.qmtt.api.web.controller.TaskController;
public> @Value("${redis.queue}")public String queueName;@AutowiredRedisTemplate redisTemplate;BoundListOperations<String, String> listRedisTemplate;
public void pushMsg(String value) {listRedisTemplate.leftPush(value);}
class ListenerThread extends Thread {@Overridepublic void run() {try {while (true) {String value = listRedisTemplate.rightPop();if (StringUtils.isNotEmpty(value)) {
}System.out.println(value);Thread.sleep(5000);}} catch (Exception e) {log.error("", e);}}}
@Overridepublic void afterPropertiesSet() throws Exception {listRedisTemplate = redisTemplate.boundListOps(queueName);// 启动监听ListenerThread thread = new ListenerThread();thread.setDaemon(true);thread.start();}} |
|
|