queue
来源:互联网 发布:吸毒人群数据 编辑:程序博客网 时间:2024/05/19 02:26
import java.io.IOException;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.TimeoutException;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import kafka.consumer.ConsumerIterator;
import mcs.service.LbsService;
import mcs.utils.ConsumerUtil;
import mcs.utils.JsonPluginsUtil;
import mcs.utils.McsWarnUtils;
import mcs.utils.MessageIdUtils;
/**
* @version 创建时间:2017年5月17日 上午10:14:41
* 类说明
*/
@Controller
public class LbsController {
private final Logger log = Logger.getLogger(this.getClass());
Basket basket = new Basket();ExecutorService service = Executors.newCachedThreadPool();LbsController.Producer producer = null;@Autowiredprivate LbsService lbsService;public void getLbsTopic() { log.info("进入getLbsTopic"); //获取消息逻辑服务器信息 ConsumerIterator<String, String> iter = new ConsumerUtil().getConsumer(topic_lbs); while (iter.hasNext()) { String jsonMessage = iter.next().message(); producer = this.new Producer(jsonMessage, basket); service.submit(producer); }}public void setUserStatusForChange() { LbsController.Consumer consumer = this.new Consumer(basket); service.submit(consumer);} public class Consumer implements Runnable { private Basket basket; public Consumer(Basket basket) { this.basket = basket; } public void run() { while (true) { String jsonMessage=basket.consume(); } }}public class Basket { BlockingQueue<String> basket = new LinkedBlockingQueue<String>(10000); public void produce(String lbsdata) throws InterruptedException { basket.put(lbsdata); } public String consume() throws InterruptedException { return basket.take(); }}public class Producer implements Runnable { private String instance; private Basket basket; public Producer(String instance, Basket basket) { this.instance = instance; this.basket = basket; } public void run() { try { // while (true) { basket.produce(instance); // } } catch (InterruptedException ex) { System.out.println("Producer Interrupted"); } }
}
}
- Queue
- queue
- Queue
- QUEUE ~
- queue
- queue
- queue
- queue
- queue
- queue
- Queue
- Queue
- queue
- queue
- Queue
- Queue
- queue
- Queue
- 我们需要怎样的生活
- SpringMVC下读取json返回字符串的乱码问题
- 那些年收藏的Android开源库集合(控件上)
- Windows下Python配置Theano深度学习框架Keras库
- cent os7设置静态ip
- queue
- MFC中CSTATIC控件双击全屏/双击恢复
- Java自定义注解@Retention和@Target
- Caused by: java.lang.OutOfMemoryError: PermGen space
- hdu 1787 欧拉函数算法
- 《Python核心编程》第二版学习总纲
- iOS 11配置文件
- Android学习笔记:Preference的使用
- 如何使用nodejs上传图片/文件