|  | @ -34,40 +34,54 @@ public class RedisThread implements Runnable {
 | 
												
													
														
															|  |     private PrescriptionService prescriptionService;
 |  |     private PrescriptionService prescriptionService;
 | 
												
													
														
															|  |     @Autowired
 |  |     @Autowired
 | 
												
													
														
															|  |     private PushMsgTask pushMsgTask;
 |  |     private PushMsgTask pushMsgTask;
 | 
												
													
														
															|  | 
 |  |     //redis链接
 | 
												
													
														
															|  | 
 |  |     private JedisPool pool;
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |     @Override
 |  |     @Override
 | 
												
													
														
															|  |     public void run() {
 |  |     public void run() {
 | 
												
													
														
															|  |         String key = SystemConf.getInstance().getSystemProperties().getProperty("redis_prescription_title");
 |  |         String key = SystemConf.getInstance().getSystemProperties().getProperty("redis_prescription_title");
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |         JedisPoolConfig poolConfig = new JedisPoolConfig();
 |  | 
 | 
												
													
														
															|  |         poolConfig.setMaxIdle(8);
 |  | 
 | 
												
													
														
															|  |         poolConfig.setMaxTotal(8);
 |  | 
 | 
												
													
														
															|  |         poolConfig.setMaxWaitMillis(-1);
 |  | 
 | 
												
													
														
															|  |         poolConfig.setMinIdle(1);
 |  | 
 | 
												
													
														
															|  |         JedisPool pool = null;
 |  | 
 | 
												
													
														
															|  |         if(StringUtils.isNotBlank(password)){
 |  | 
 | 
												
													
														
															|  |             pool = new JedisPool(poolConfig,host,port,100000,password);
 |  | 
 | 
												
													
														
															|  |         }else {
 |  | 
 | 
												
													
														
															|  |             pool = new JedisPool(poolConfig,host,port,100000);
 |  | 
 | 
												
													
														
															|  |         }
 |  | 
 | 
												
													
														
															|  | 
 |  |         //初始化链接池
 | 
												
													
														
															|  | 
 |  |         initPool();
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |         while (true){
 |  |         while (true){
 | 
												
													
														
															|  |             try {
 |  |             try {
 | 
												
													
														
															|  |                 Jedis jedis = pool.getResource();
 |  |                 Jedis jedis = pool.getResource();
 | 
												
													
														
															|  |                 String message = jedis.rpop(key);
 |  |                 String message = jedis.rpop(key);
 | 
												
													
														
															|  |                 if(StringUtils.isEmpty(message)){
 |  |                 if(StringUtils.isEmpty(message)){
 | 
												
													
														
															|  |                     Thread.sleep(1000L);//如果没有读取到记录,等待1秒
 |  | 
 | 
												
													
														
															|  | 
 |  |                     sleep(1000L);//如果没有读取到记录,等待1秒
 | 
												
													
														
															|  |                 }else {
 |  |                 }else {
 | 
												
													
														
															|  |                     redisMessage(message);
 |  |                     redisMessage(message);
 | 
												
													
														
															|  |                 }
 |  |                 }
 | 
												
													
														
															|  |             }catch (Exception e){
 |  |             }catch (Exception e){
 | 
												
													
														
															|  |                 e.printStackTrace();
 |  | 
 | 
												
													
														
															|  |                 logger.info(e.getMessage());
 |  |                 logger.info(e.getMessage());
 | 
												
													
														
															|  | 
 |  |                 sleep(5000L);
 | 
												
													
														
															|  | 
 |  |                 initPool();
 | 
												
													
														
															|  |             }
 |  |             }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |         }
 |  |         }
 | 
												
													
														
															|  |     }
 |  |     }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |     public void sleep(Long time){
 | 
												
													
														
															|  | 
 |  |         try {
 | 
												
													
														
															|  | 
 |  |             Thread.sleep(time);
 | 
												
													
														
															|  | 
 |  |         }catch (Exception e){
 | 
												
													
														
															|  | 
 |  |             logger.error(e.getMessage());
 | 
												
													
														
															|  | 
 |  |         }
 | 
												
													
														
															|  | 
 |  |     }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |     public void initPool(){
 | 
												
													
														
															|  | 
 |  |         JedisPoolConfig poolConfig = new JedisPoolConfig();
 | 
												
													
														
															|  | 
 |  |         poolConfig.setMaxIdle(8);
 | 
												
													
														
															|  | 
 |  |         poolConfig.setMaxTotal(8);
 | 
												
													
														
															|  | 
 |  |         poolConfig.setMaxWaitMillis(-1);
 | 
												
													
														
															|  | 
 |  |         poolConfig.setMinIdle(1);
 | 
												
													
														
															|  | 
 |  |         if(StringUtils.isNotBlank(password)){
 | 
												
													
														
															|  | 
 |  |             pool = new JedisPool(poolConfig,host,port,100000,password);
 | 
												
													
														
															|  | 
 |  |         }else {
 | 
												
													
														
															|  | 
 |  |             pool = new JedisPool(poolConfig,host,port,100000);
 | 
												
													
														
															|  | 
 |  |         }
 | 
												
													
														
															|  | 
 |  |     }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |     public void redisMessage(String message){
 |  |     public void redisMessage(String message){
 | 
												
													
														
															|  |         logger.info("redis_onMessage...:"+message);
 |  |         logger.info("redis_onMessage...:"+message);
 | 
												
													
														
															|  |         //this.unsubscribe();
 |  |         //this.unsubscribe();
 |