现在有这样一个场景。
有一个jar在多线程运行,每个线程里都有自己的局部变量累加器 long count;
现在我需要通过一个spring的web project获取每个线程的count值,并且通过highcharts绘制出图形
请问这个独立jar的各自线程中的count局部变量,如何能被spring拿到?
自己想到的几个方法:
1.NIO的管道通信,PipedInputStream、PipedOutputStream
2.Thrift RPC服务
3.netty的服务
有没有可行的解决方案?
黄舟2017-04-18 10:35:14
按我的理解, 你是需要進程間通信吧?
你說的Thrift 和Netty 都可以.
或者也可以使用消息隊列, 每個jar 包都當做生產者, 向隊列中提交count 作為消息, 然後你的Spring Web 工程就可以從佇列中取出count 的值.
巴扎黑2017-04-18 10:35:14
沒必要。
直接將count
使用map
结构存放在redis
中就ok了。hightcharts
渲染时直接从redis
取得數據。
結構如下。
counter
|
| key1: v1`
| key2: v2