찾다

 >  Q&A  >  본문

线程 - java 进程通信问题

现在有这样一个场景。

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

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

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

自己想到的几个方法:

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

2.Thrift RPC服务

3.netty的服务

有没有可行的解决方案?

伊谢尔伦伊谢尔伦2766일 전395

모든 응답(2)나는 대답할 것이다

  • 黄舟

    黄舟2017-04-18 10:35:14

    제가 이해한 바에 따르면 프로세스 간 통신이 필요합니다.
    당신이 언급한 Thrift와 Netty는 모두 허용됩니다.
    또는 각 jar 패키지가 생산자로 처리되어 메시지 대기열을 사용할 수도 있습니다. 메시지를 큐에 전송하면 Spring 웹 프로젝트가 큐에서 count 값을 검색할 수 있습니다.

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-04-18 10:35:14

    필요없습니다.
    count 구조를 이용하여 mapredis을 직접 저장해도 괜찮습니다. hightcharts 렌더링 시 redis에서 직접 데이터를 가져옵니다.
    구성은 다음과 같습니다.

    으아악

    회신하다
    0
  • 취소회신하다