このクラスの taskService にアクセスすると:
@Component
public class TaskHelper {
private final Logger logger = getLogger(this.getClass());
@Autowired
private RuntimeService runtimeService;
@Autowired
private TaskService taskService;
private String processInstanceId;
@EventListener
public void notify(final ContextRefreshedEvent unused) {
processInstanceId = runtimeService.startProcessInstanceByKey("Sample").getProcessInstanceId();
logger.info("started instance: {}", processInstanceId);
List<Task> task = taskService.createTaskQuery().processInstanceId(processInstanceId).list();
logger.info("completed task: {}", task.get(0).getName());
taskService.complete(task.get(0).getId());
logger.info("completed task: {}", task);
// now jobExecutor should execute the async job
}
public String getProcessInstanceId() {
return processInstanceId;
}
その正常に動作します。しかし、@RestController クラスで TaskService にアクセスするにはどうすればよいでしょうか?
私はこのように試しました:
@RestController
public class TaskController {
@Autowired
TaskService taskService;
@RequestMapping(value = "/tasklist")
public String taskList(@RequestParam(value = "name", defaultValue = "all") String name) {
taskService.createTaskQuery().list();
return "Task: ";
}
}
しかし、私の taskService は常に null です。RestController クラスでアクセスする正しい方法は何ですか?