我的系统支持多租户,到目前为止,每个租户都有自己的工作存储库(即在特定于租户的模式下)。 意思是可以为房客X和租户y执行“ Myjob”,并在没有任何风险的情况下共享。

问题描述 投票:0回答:1

List<JobInstance> lastInstances = jobExplorer.getJobInstances(jobName,0,Integer.MAX_VALUE); for (JobInstance jobInstance : instances) { if(jobInstance.getJobParameters().getString("TENANT_ID") .equals(currentTenant)){ tenantLastJobInstance = jobInstance; break; } }

这个丑陋且效率低下的解决方案,我正在努力避免上述问题。
理想的解决方案是Myjob充当模板,实际工作将被命名 
基于租户,例如Myjob+Tenantid(Myjobx和Myjoby)的某些变体。 


任何关于如何实施这种方法的想法都将受到欢迎

也将欢迎任何创建多人租户的替代方法。

    

使我的头顶(我还没有考虑过太多),我建议扩展简单的jobexplorer,并根据房客ID添加自定义方法来查询。 虽然它使您远离“标准”实现,但这将是解决需求IMHO的最简单方法。

  • 在所有租户中共享工作bean,导致工作数据存储混合在一起,因此导致结果设置问题。我通过使用原型bean范围解决了此问题:
  • @Bean(name = "jobName") @Scope("prototype") public Job yourJob() {}
使用自定义租户意识到的工作店。
spring spring-batch multi-tenant
1个回答
1
投票

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.