我创建了以下课程
@Component
@Scope(value = "session", proxyMode = ScopedProxyMode.TARGET_CLASS)
public class ApplicationUserInfo implements Serializable {
private String user;
private Integer companynumber;
}
我想@Autowire将这个类用于我在会话之外的批处理。 我想在会话之外使用会话范围的bean,那我怎么能这样做呢? 有没有其他方法可以使用该bean。
请建议我。
答案 0 :(得分:1)
您可以在开始时(会话存在的位置)将会话信息作为作业参数传递,然后访问参数e.g. from reader
JobParameters params = new JobParametersBuilder()
.addString("user", sessionInfo.getUser())
.toJobParameters();
...
jobLauncher.run(yourJob, params);
并在阅读器中获取信息
@Value("#{jobParameters['user']}")