我有两个不同的 Spring Batch 项目,它们都配置为元数据表具有相同的数据源(相同的 DB 模式):
application.properties(Spring Batch A)
spring.datasource.jdbc-url=jdbc:mysql://localhost:3306/my_batch
Run Code Online (Sandbox Code Playgroud)application.properties(Spring Batch B)
spring.datasource.jdbc-url=jdbc:mysql://localhost:3306/my_batch
Run Code Online (Sandbox Code Playgroud)
在多次成功运行 Spring Batch A 后,我运行了 Spring Batch B 并抛出了一个JobExecutionAlreadyRunningException.
例子:
org.springframework.batch.core.repository.JobExecutionAlreadyRunningException:此作业的作业执行已在运行:JobInstance: id=2, JobParameters=[{}], Job=[MyBatchName]
在此期间,Spring Batch A 不再运行。异常似乎表明 Job Instance ID 已经被 Spring Batch A 占用,不能被 Spring Batch B 使用。
题:
Spring Batch 元数据模式可以支持多个 Spring Batch 项目吗?
根据 Eureka wiki ( https://github.com/Netflix/eureka/wiki ),Eureka 2.0 已停产。
eureka 2.0 的开源工作已经停止。作为 2.x 分支上现有工作存储库的一部分发布的代码库和工件被视为使用风险自负。
问题
与 Eureka 1.0(Spring Cloud 2.0 仍在使用的)相比,Eureka 2.0 有哪些新功能?
Netflix 内部是否仍然使用任何服务发现平台?如果是,那是什么?
编辑
找到了第一个问题的一些答案。阅读这些:
netflix service-discovery spring-cloud netflix-eureka spring-cloud-netflix
以下有什么区别?
spring spring-cloud spring-cloud-config spring-cloud-vault-config
假设我只想要ObjectMapper对象的普通实例。将其声明为bean有什么好处?
@Bean
public ObjectMapper objectMapper() {
return new ObjectMapper();
}
Run Code Online (Sandbox Code Playgroud)
为什么不每当我们需要时就制作一个新ObjectMapper的new ObjectMapper()?
还是将其声明为静态对象?
private static final ObjectMapper mapper = new ObjectMapper();
Run Code Online (Sandbox Code Playgroud) java ×2
spring ×2
spring-cloud ×2
datasource ×1
jackson ×1
json ×1
netflix ×1
oop ×1
spring-batch ×1
static ×1