Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当消息在Jgroups中被拒绝时会发生什么?_Java_Threadpool_Jgroups - Fatal编程技术网

Java 当消息在Jgroups中被拒绝时会发生什么?

Java 当消息在Jgroups中被拒绝时会发生什么?,java,threadpool,jgroups,Java,Threadpool,Jgroups,我使用axon和分布式命令总线,它使用Jgroups创建集群。我发了大约100条信息。 我对tcp-gossip.xml有以下配置: 我得到一个java.util.concurrent.RejectedExecutionException 使用此配置运行时,由于拒绝策略为中止,此配置很明显。但被拒绝的消息将再次被拾取并执行,同时保留执行顺序。这意味着消息保存在缓冲区的某个地方。 1> 有人知道JGroups中的消息缓冲在哪里吗。 2> 有人能准确地解释我们使用中止拒绝策略时会发生什么吗?1消息

我使用axon和分布式命令总线,它使用Jgroups创建集群。我发了大约100条信息。 我对tcp-gossip.xml有以下配置:

我得到一个java.util.concurrent.RejectedExecutionException 使用此配置运行时,由于拒绝策略为中止,此配置很明显。但被拒绝的消息将再次被拾取并执行,同时保留执行顺序。这意味着消息保存在缓冲区的某个地方。 1> 有人知道JGroups中的消息缓冲在哪里吗。
2> 有人能准确地解释我们使用中止拒绝策略时会发生什么吗?

1消息存储在UNICASTx或pbcast.NAKACKx协议中,直到所有收件人确认收到这些消息为止

2在JGroup中,存在非平凡的线程模型。消息在接收线程中从网络读取,然后传递到三个线程池(常规、OOB和内部)中的一个,以便在堆栈中进行处理和应用程序交付。当线程池繁忙且没有配置队列/队列已满时,线程池将拒绝作业,消息将在接收方丢弃。幸运的是,它将在稍后被重新发布。您可以使用JMX或probe.sh监视TP.num_rejected_消息上被拒绝的消息数

 sock_conn_timeout="300" 
 reaper_interval="0"

 thread_pool.enabled="true"
 thread_pool.min_threads="3"
 thread_pool.max_threads="3"
 max_bundle_timeout="10"


 level="trace"       
 thread_pool.rejection_policy="Abort"

 recv_buf_size="64K"
 send_buf_size="20M"
 />