我想知道下一个场景是否是线程安全的: 我有一个方法
的弹簧控制器@Autowired
private JobService jobService;
public String launch(@ModelAttribute("profile") Profile profile){
JobParameters jobParams = MyUtils.transform(profile);
jobService.launch(profile.getJobName(), jobParams);
return "job";
}
我有MyUtils
类使用静态方法将一种对象转换为另一种对象......就像这样:
public class MyUtils {
public static JobParameters transform(Profile profile) {
JobParametersBuilder jpb = new JobParametersBuilder();
jpb.addString("profile.name", profile.getProfileName());
jpb.addString("profile.number", String.valueOf(profile.getNumber()));
return jpb.toJobParameters();
}
类JobParametersBuilder,JobParameters和JobService来自spring batch核心项目。 Profile
类是简单的POJO。
问题确实是......这是静态方法transform
线程安全的,因为它处理对象实例,尽管所有这些实例都是为方法本地创建的。