Spring Batch:Remote Chunking&不使用jms进行分区

时间:2015-02-04 07:24:44

标签: jms rmi spring-batch httpinvoker

我是春季批次新手。我想使用远程分块和运行来运行弹簧批处理作业。不使用jms的多个服务器上的分区技术。 我想使用HTTP Invoker或RMI而不是使用jms。 但是,远程分块的所有例子和分区使用jms。 我找不到使用HTTP Invoker或RMI的示例。 我想知道是否可能......

英语不是我的母语..请原谅我的任何错误

1 个答案:

答案 0 :(得分:1)

您可以使用任何形式的通信进行远程分区。但是,远程分块确实需要持久通信,这就是通常使用JMS的原因。

您看到JMS进行远程分区的原因是因为使用JMS配置集群环境比使用HTTP更容易。原因是每个人(主人和所有奴隶)只需知道队列与之交谈的位置。使用HTTP作为通信机制需要主设备和从设备知道更多。主服务器需要知道如何在所有从服务器上均匀分配分区以及将请求发送到每个从服务器的位置。所有奴隶也需要知道主人在哪里。 JMS的集中式分发模型还允许您在处理期间动态添加新的从站,其中HTTP要求您有一些方法向主站注册新的从站。

远程分块需要持久通信的原因是远程分区模型中没有任何内容可以阻止项目被处理两次,因为它通过网络发送(远程分区只发送数据的描述)并且作业存储库阻止数据被处理两次。)

您可以在我的答案中详细了解两者之间的差异:Difference between spring batch remote chunking and remote partitioning