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 的最佳做法是什么?
- 一个单独的作业存储库,指向仅包含 jberet 内容的数据源(新数据库)
- 每个服务一个作业存储库指向该服务的数据源(这甚至可能吗?怎么办?从 https://github.com/fcorneli/jberet-eap6/blob/master/eap6-batch/src/main/resources/schema/wildfly-batch_1_0.xsd 来看我猜它不是 possible/intended。)
- 让 jberet 数据进入其中一项服务的现有数据库之一(我如何选择哪一个?负载、大小?)
如果您只部署了一个war-文件:目前您只能有一个作业存储库。
如果您在一个 Wildfly 实例中部署了 多个 war-files:
如果您可以将 WildFly 10 用于批处理应用程序,则可以使用 jboss-all.xml
部署描述符为每个部署定义不同的作业存储库。
如果您确实希望将它们全部添加到同一个数据库中,如果您希望能够查看它们来自哪个应用程序,则 JOB_INSTANCE
字段中有一个 APPLICATIONNAME
字段。名称解析自 java:app/AppName
。这可能会帮助您筛选出您正在查看的应用程序作业。
我们目前在各自的 Wildfly 9.0 实例中有一组服务,每个服务 运行。其中一些使用 jberet 1.2.0 实现了批处理作业。
每个 wildfly 实例都为服务定义了一个数据源(jdbc,oracle),为 jberet 定义了一个作业存储库。目前jberet表被放入这个wildfly实例的单个数据源的数据库中。
现在我们将所有批处理作业移动到一个单独的 wildfly 实例中,以将批处理产生的负载从其他 wildfly 实例中移走。
现在我们有一个 standalone.xml 和 x 个数据源(每个服务一个)。
定义 job-repository/-ies 的最佳做法是什么?
- 一个单独的作业存储库,指向仅包含 jberet 内容的数据源(新数据库)
- 每个服务一个作业存储库指向该服务的数据源(这甚至可能吗?怎么办?从 https://github.com/fcorneli/jberet-eap6/blob/master/eap6-batch/src/main/resources/schema/wildfly-batch_1_0.xsd 来看我猜它不是 possible/intended。)
- 让 jberet 数据进入其中一项服务的现有数据库之一(我如何选择哪一个?负载、大小?)
如果您只部署了一个war-文件:目前您只能有一个作业存储库。
如果您在一个 Wildfly 实例中部署了 多个 war-files:
如果您可以将 WildFly 10 用于批处理应用程序,则可以使用 jboss-all.xml
部署描述符为每个部署定义不同的作业存储库。
如果您确实希望将它们全部添加到同一个数据库中,如果您希望能够查看它们来自哪个应用程序,则 JOB_INSTANCE
字段中有一个 APPLICATIONNAME
字段。名称解析自 java:app/AppName
。这可能会帮助您筛选出您正在查看的应用程序作业。