java版spring cloud微服务架构b2b2c电子商务平台-Task数据源配置
Spring Cloud Task开箱即用的属性配置项由DefaultTaskConfigurer和SimpleTaskConfiguration类来管理,本篇文章对Spring Cloud Task的数据源配置进行分析。
数据源配置
数据源选择
spring cloud task使用数据源(如mysql)来存储task的执行结果。如果没有自定义配置数据源,则默认使用 H2 嵌入式内存数据库作为数据源来启动发布task。不过内存数据库中存储的task信息并没有被持久化,所以在生产环境下我们需要配置自己的数据源。
如果你的应用中只有一个DataSource,Spring Cloud Task默认会用task仓库管理此数据源。被task仓库管理数据源里不但存储有你的业务数据,还会有task仓库的相关数据定义与记录。单数据源应用是最为简单方便的,很适合小型应用。
当应用中有多个数据源时,框架支持根据业务需求选择最合适数据源存储的任务信息数据。通过自定义继承自TaskConfigure的配置类可以达到在多数据源情况下选择合适的任务数据源的目的。
任务表前缀
Spring Cloud Task支持自定义任务仓库所管理的数据库表表名的前缀,默认情况下表名前缀是 TASK_ ,像 TASK_EXCUTION 、TASK_EXECUTION_PARAMS 这两张表表名都是以 TASK_ 开头的。在特殊情况下可能会有需要自定义表前缀的需求,如数据库先前就已经定义好了表名,或在该数据源中已经存在了不同业务需求的任务仓库所定义的任务相关的表,这些都需要我们改变任务仓库数据表的表名前缀。
通过设置spring.cloud.task.tablePrefix属性,可以自定义表名前缀
spring.cloud.task.tablePrefix=
开启/关闭数据库表初始化
Spring Cloud Task会在task启动时自动在数据源中创建任务相关的表,如果数据源中已经存在这些表,设置spring.cloud.task.initialize.enable的值为false就可以关闭自动建表的功能,该属性的默认值为true。
spring.cloud.task.initialize.enable=