Tôi đã có một bean Spring đơn lẻ tạo ra một vài tác vụ (java.util.concurrent.Callable
) khi chạy để thực hiện công việc song song. Ngay bây giờ, các Callable
được định nghĩa là lớp bên trong trong hạt đơn, và đậu đơn tạo ra chúng đơn giản bằng cách khởi tạo chúng với new Task(in)
, trong đó in
là một tham số chỉ được biết khi chạy.Mùa xuân: làm thế nào để khởi tạo một bean Spring có tham số thời gian chạy?
Bây giờ tôi muốn giải nén lớp Task bên trong thành một lớp cấp cao thông thường vì tôi muốn thực hiện giao dịch phương thức call()
của Task, vì vậy tôi cần nó là bean Spring.
Tôi đoán tôi cần phải cung cấp cho nhà máy của tôi một số loại nhà máy Task
s, nhưng nhiệm vụ phải là nguyên mẫu Hạt đậu mùa xuân có giá trị thời gian chạy làm tham số hàm tạo. Làm thế nào tôi có thể thực hiện điều này?
@BorisTreukhov: đây không phải là câu hỏi về thử nghiệm các ứng dụng đa luồng, đây là câu hỏi về Spring. Trong thực tế, tôi sẽ loại bỏ lý do # 2 khỏi câu hỏi của tôi bởi vì nó phân tâm từ vấn đề thực sự. –
Xem: http://stackoverflow.com/questions/8772585/spring-bean-with-dynamic-constructor-value – quaylar
@Bossie ok Tôi đã gỡ bỏ nhận xét của tôi, btw Tôi nghĩ rằng cách đơn giản nhất là để tạo ra dịch vụ riêng biệt đậu, trang trí phương pháp của họ như là giao dịch, tiêm chúng vào singleton của bạn và vượt qua "trong" tham số để các phương pháp dịch vụ. –