Spring批次在内存 JobRepository 中配置,即 MapJobRepositoryFactoryBean 。 它使用 JdbcCursorItemReader 来构建Oracle视图中的记录。 Jboss非XA数据源用于JNDI。 记录通过远程夹持机制进行处理,以消除JBOSS集群的负载。
通过webserivce调用启动该作业。 webserivce部署在集群中的所有节点上。 在外部,webservice调用是负载平衡的。
在 JBoss 群集的所有节点上部署了相同的pacakage( EAR )。
如果在jboss群集的节点1上启动作业,则从项目阅读器&读取所有记录。已处理(共400条记录)。 但是,如果在jboss群集的节点2上启动相同的作业,则只能从项目阅读器和读取器读取320条记录。处理。
我无法解释80条记录的差异,因为日志中没有异常,我还试图通过从oracle查询中获取 count(*)来进行双重检查推出了jboss。
spring batch和jboss集群有什么问题吗?我可以按要求运行测试并获取其他详细信息。
无论作业启动的节点如何,都应从视图中读取所有记录