aşağıdaki Spring's documentation için TaskExecutor kullanmak yolu göre gibidir:Spring TaskExecutor'ın oluşturduğu iş parçacığını nasıl otomatikleştirebilirim?
import org.springframework.core.task.TaskExecutor;
public class TaskExecutorExample {
private class MessagePrinterTask implements Runnable {
private String message;
public MessagePrinterTask(String message) {
this.message = message;
}
public void run() {
System.out.println(message);
}
}
private TaskExecutor taskExecutor;
public TaskExecutorExample(TaskExecutor taskExecutor) {
this.taskExecutor = taskExecutor;
}
public void printMessages() {
for(int i = 0; i < 25; i++) {
taskExecutor.execute(new MessagePrinterTask("Message" + i));
}
}
}
Ancak MessagePrinterTask biz (bu sayı en az Spring'in bağlamı dışında bizim fasulye başlatmasını çünkü onlar Bahar tarafından yapılandırılan olmayacak bağımlılıkları autowired ise Bahar, gerçek iplik oluşumunu sağlayacak olsa bile bunu nasıl anladım. MessagePrinterTask Eğer biz Bahar tanıyabilmesi için olsun nasıl bağımlılıkları autowired etmiş idi? Ben boşuna aşağıdaki değiştirilmiş örnek çalıştı (ve evet, Autowiring düzgün etkindir):
a:
import org.springframework.core.task.TaskExecutor;
public class TaskExecutorExample {
@Component
private class MessagePrinterTask implements Runnable {
@Autowired
private autoWiredDependency;
public void run() {
autoWiredDependency.doNotThrowNullPointerExceptionPlease();
}
}
private TaskExecutor taskExecutor;
public TaskExecutorExample(TaskExecutor taskExecutor) {
this.taskExecutor = taskExecutor;
}
public void printMessages() {
for(int i = 0; i < 25; i++) {
taskExecutor.execute(new MessagePrinterTask());
}
}
}
teşekkürler. Öneri a. Şu anda ne yapıyorum ama bunları kullanamaz bir sınıfta bir yapıcı artı autowire bağımlılıkları sürdürmek zorunda çünkü bu biraz sinir bozucu. Öneri gördüm b. ama bu görevi yerine getirmenin en çok Spring yolu olup olmadığından emin değilim. Yine de teşekkürler! – Jorge
Şu anda, seçenek olarak bastığında @Configurable kullanıyorum a. Uygulamam çok fazla iş parçacığı oluşturmuyor ya da yeterli oluyor. – Jorge