Paralel çalışma yapmak için çalışma zamanında bir çift görev (java.util.concurrent.Callable
's) oluşturan tek bir Spring Bean var. Şu anda, Callable
'lar, tek tabakalı fasülyede iç sınıflar olarak tanımlanmıştır ve tekli fasülye, new Task(in)
ile eşzamanlı olarak yaratır, burada in
sadece çalışma zamanında bilinen bir parametredir.Spring: Çalışma zamanı parametresini alan bir Spring bean'ı nasıl örneklendirirsiniz?
Şimdi Task'ın call()
yöntemini işlemsel yapmak istediğim için iç Görev sınıfını düzenli bir üst düzey sınıfa çıkarmak istiyorum, bu yüzden bir Spring Bean olması gerekiyor.
Tek bir kerelik fabrikamıza Task
s ürününü vermem gerekiyor, ancak görevlerin bir constructor parametresi olarak çalışma zamanı değerini alan prototip Spring çekirdekleri olması gerekiyor. Bunu nasıl başarabilirim?
@BorisTreukhov: Bu, çok iş parçacıklı uygulamaların sınanmasıyla ilgili bir soru değil, bu Bahar hakkında bir sorudur. Aslında, sorudan # 2 nedenini kaldıracağım çünkü gerçek sorundan uzaklaşıyor. –
Bkz: http://stackoverflow.com/questions/8772585/spring-bean-with-dynamic-constructor-value – quaylar
@Bossie benim yorumunu kaldırıldı tamam btw basit yolu ayrı hizmet oluşturmak için olduğunu düşünüyorum fasulyeleri, kendi yöntemlerini işlemsel olarak dekore eder, bunları tekilinize enjekte eder ve "in" parametresini servis yöntemlerine geçirir. KISS için –