java并发有序响应缓冲区

java并发有序响应缓冲区,java,concurrency,java.util.concurrent,grpc-java,java-websocket,Java,Concurrency,Java.util.concurrent,Grpc Java,Java Websocket,我有一个来自websocket或grpc客户端的消息流。对于每条消息,我的服务都会生成0条或更多回复消息。默认情况下,websocket端点和grpc请求观察器都保证由最多1个线程并发调用,因此我的回复与请求的发送顺序相同。现在我想将请求处理分派给其他线程并并行处理它们,但仍然保持顺序。因此,我需要一些“并发有序响应缓冲区”,它将缓冲对给定请求消息的响应,直到完成对以前请求的处理并发送对它们的响应为止(按照在每个“请求桶”中生成响应的顺序)。 我可以自己开发这样的类,但这似乎是一种常见的情况,所

我有一个来自websocket或grpc客户端的消息流。对于每条消息,我的服务都会生成0条或更多回复消息。默认情况下,websocket端点和grpc请求观察器都保证由最多1个线程并发调用,因此我的回复与请求的发送顺序相同。现在我想将请求处理分派给其他线程并并行处理它们,但仍然保持顺序。因此,我需要一些“并发有序响应缓冲区”,它将缓冲对给定请求消息的响应,直到完成对以前请求的处理并发送对它们的响应为止(按照在每个“请求桶”中生成响应的顺序)。
我可以自己开发这样的类,但这似乎是一种常见的情况,所以我想知道这样的事情是否已经存在(不要重新发明轮子)。然而,我在网上找不到任何东西:有人知道这样的事情吗?

谢谢

如果有人也需要它,我自己写的,因为没有答案:

欢迎反馈:)