繁体   English   中英

如何将会话作用域 bean 用于批处理

[英]How can I use session scoped bean into the batch processing

我创建了以下课程

@Component
@Scope(value = "session", proxyMode = ScopedProxyMode.TARGET_CLASS)
public class ApplicationUserInfo implements Serializable {
    private String  user;
    private Integer companynumber;
}

我正在@Autowire 将此类用于会话之外的批处理。 我想在会话之外使用会话范围的 bean,那么我该怎么做呢? 有没有其他方法可以使用该bean。

请建议我。

您可以在开始时(会话存在的地方)将会话信息作为作业参数传递,然后从读取器访问该参数

JobParameters params = new JobParametersBuilder()
                .addString("user", sessionInfo.getUser())
                .toJobParameters();

...

jobLauncher.run(yourJob, params);

并在阅读器中获取信息

@Value("#{jobParameters['user']}")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM