我试图在PCF上的spring数据流容器中执行多个spring云任务作业。这些作业从http源读取原始文件,然后解析它,并将其写入mysql,db.These作业是用普通java编写的,而不是使用spring批处理编写的。我已经将mysql db与PCF上的scdf容器绑定。我相信spring任务将使用mysql来存储这些状态的执行状态,.I希望实际的输出记录也在mysql中。
我的问题是,如何将每个作业的输出记录存储在mysql db中?它会对每个解析器作业使用不同的模式吗?如果没有,我如何配置它来做到这一点?
如果你遇到过这种情况,请分享你的想法。
谢谢!
尼兰詹
发布于 2017-03-11 16:58:47
要在SCDF中编排任务,您必须提供一个RDBMS,看起来您已经这样做了。任务存储库主要用于将任务执行作为历史表示形式持久化,因此您可以通过GUI/Shell深入了解整个执行历史。
您可以在服务器级别配置任务存储库--参见此CF-服务器的manifest.yml示例(在services:部分下)以供参考。
我的问题是,如何将每个作业的输出记录存储在mysql db中?
如果您也希望对所有任务使用相同的数据存储,可以通过SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_TASK_SERVICES env-var对其进行配置。通过此令牌提供的任何内容都将自动传播到所有Task应用程序。
但是,您有责任确保正确的数据库驱动程序位于Task应用程序的类路径中。在您的例子中,您需要一个mysql驱动程序。
它会对每个解析器作业使用不同的模式吗?
这取决于您的业务需求。无论是不同的模式还是不同的表集,您都必须确定需求所需的内容,并在通过SPRING_CLOUD_DEPLOYER_CLOUDFOUNDRY_TASK_SERVICES绑定任务应用程序之前确保它的存在/设置。
如果没有,我如何配置它来做到这一点?
如果必须使用不同的数据源,则可以为任务应用程序提供不同的mysql绑定,其中包括特定于需求的模式/表更改。查看此部分,了解如何在PCF上启动自动配置。
作为另一种选择,您也可以在每个应用程序中选择性地提供不同的mysql绑定--下面是一些文档。
https://stackoverflow.com/questions/42732077
复制相似问题