java 进程通信问题

发布于 2022-09-04 09:30:47 字数 314 浏览 15 评论 0

现在有这样一个场景。

有一个jar在多线程运行,每个线程里都有自己的局部变量累加器 long count;

现在我需要通过一个spring的web project获取每个线程的count值,并且通过highcharts绘制出图形

请问这个独立jar的各自线程中的count局部变量,如何能被spring拿到?

自己想到的几个方法:

1.NIO的管道通信,PipedInputStream、PipedOutputStream

2.Thrift RPC服务

3.netty的服务

有没有可行的解决方案?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

时常饿 2022-09-11 09:30:47

按我的理解, 你是需要进程间通信吧?
你说的 Thrift 和 Netty 都可以.
或者也可以使用消息队列, 每个 jar 包都当做生产者, 向队列中提交 count 作为消息, 然后你的 Spring Web 工程就可以从队列中取出 count 的值.

你怎么敢 2022-09-11 09:30:47

没必要。
直接将count使用map结构存放在redis中就ok了。hightcharts渲染时直接从redis获取数据。
结构如下。

counter
    |
    | key1: v1`
    | key2: v2
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文