jberet,一个 wildfly 实例,多个数据源:我可以使用多个作业存储库吗?

jberet, one wildfly instance, multiple datasources: can I use more than one job-repository?

我们目前在各自的 Wildfly 9.0 实例中有一组服务,每个服务 运行。其中一些使用 jberet 1.2.0 实现了批处理作业。

每个 wildfly 实例都为服务定义了一个数据源(jdbc,oracle),为 jberet 定义了一个作业存储库。目前jberet表被放入这个wildfly实例的单个数据源的数据库中。

现在我们将所有批处理作业移动到一个单独的 wildfly 实例中,以将批处理产生的负载从其他 wildfly 实例中移走。

现在我们有一个 standalone.xml 和 x 个数据源(每个服务一个)。

定义 job-repository/-ies 的最佳做法是什么?

如果您只部署了一个war-文件:目前您只能有一个作业存储库。

如果您在一个 Wildfly 实例中部署了 多个 war-files: 如果您可以将 WildFly 10 用于批处理应用程序,则可以使用 jboss-all.xml 部署描述符为每个部署定义不同的作业存储库。

如果您确实希望将它们全部添加到同一个数据库中,如果您希望能够查看它们来自哪个应用程序,则 JOB_INSTANCE 字段中有一个 APPLICATIONNAME 字段。名称解析自 java:app/AppName。这可能会帮助您筛选出您正在查看的应用程序作业。