Chú thích Spring @Async
có được sử dụng trên các phương thức giao diện hay không.Chú thích Spring @Async trên các phương thức giao diện
Trả lời
Tôi đã nhanh chóng kiểm tra và có @Async
trên giao diện sẽ thực hiện không đồng bộ.
Nếu bạn muốn tự mình thử: Bạn có thể dễ dàng kiểm tra điều này bằng cách kiểm tra xem giá trị của Thread.currentThread().getId()
có khác không (trước khi gọi phương thức và bên trong phương pháp) hoặc chỉ cần thêm Thread.sleep(10000);
vào phương pháp được mong đợi là không đồng bộ.
Cũng lưu ý rằng loại trả về phải là void
hoặc java.util.concurrent.Future
.
Kể từ @Async
là defined như
@Target(value={TYPE,METHOD})
@Retention(value=RUNTIME)
@Documented
public @interface Async
và TYPE
is
Class, giao diện (bao gồm loại chú thích), hoặc enum khai
và METHOD
is
khai Method
có, bạn có thể sử dụng nó trên các phương pháp giao diện, quá.
nhưng nó sẽ _actually_ thực hiện không đồng bộ không? :) –
có. nó sẽ làm cho tất cả các cài đặt của nó không đồng bộ – maya16
- 1. @AspectJ pointcut cho các phương pháp ghi đè phương thức giao diện bằng chú thích
- 2. Spring AOP - pointcut cho mọi phương thức có chú thích
- 3. Mùa xuân 3: Cách gọi các phương thức được chú thích @Async từ TaskExecutor
- 4. AspectJ pointcut cho các phương thức PRIVATE có chú thích
- 5. Bắt Intellisense trên giao diện mà một phương thức thực hiện nếu phương thức đó không có các chú thích XML riêng của nó
- 6. Giao diện và các phương thức không đồng bộ
- 7. Chú thích @Cacheable của Spring có thể có cùng phạm vi với bean của phương thức được chú thích không?
- 8. Xem chú thích java trên phương pháp
- 9. Lỗi trên chú thích @Override với việc triển khai giao diện
- 10. Tại sao Eclipse phàn nàn về @Override trên các phương thức giao diện?
- 11. Bộ điều khiển Spring-MVC được chú thích không được nhận diện khi bộ điều khiển mở rộng giao diện
- 12. Khám phá lớp của phương thức chú giải trong Bộ xử lý chú thích cho java
- 13. Testing Spring MVC chú thích mapppings
- 14. Chú thích cấp lớp so với giao diện
- 15. Làm thế nào để sử dụng async trên một phương pháp giao diện trống
- 16. Chú thích JAXB - Ánh xạ giao diện và @XmlElementWrapper
- 17. Chú thích dựa trên Spring MVC LocaleChangeInterceptor không hoạt động
- 18. @AspectJ Lời khuyên chú thích cấp lớp với chú thích làm đối số phương thức
- 19. Phương thức giao diện Java Phương pháp: Mỗi lớp có thực hiện một giao diện không?
- 20. Chú thích JAX-RS: Tốt hơn để đặt trên Giao diện hoặc Lớp học?
- 21. Tôi có thể sử dụng @PostConstruct trên phương thức giao diện không?
- 22. Spring AOP: cách nhận các chú thích của phương pháp được đề xuất
- 23. Tại sao có thể gọi phương thức trên phương thức giao diện Java? [So sánh]
- 24. @RequestMapping chú thích trong Spring MVC
- 25. Giao diện có phương thức toString không?
- 26. Phương thức khởi tạo trong giao diện
- 27. Thêm cảnh báo thiếu chú thích @Override để thực hiện giao diện trong Eclipse
- 28. Lấy tên tham số của phương thức giao diện
- 29. Tại sao các lớp java không kế thừa các chú thích từ các giao diện được triển khai?
- 30. C# Giao diện với các phương thức tùy chọn
Bạn đã thử chưa? –
Tôi đã thử chú thích một phương thức giao diện (và được biên dịch), nhưng sẽ tìm hiểu xem nó có thực sự hoạt động hay không trước khi bắt đầu triển khai các lớp cụ thể – Alex
Trong trường hợp bạn sử dụng proxy cglib thay vì proxy jdk và chú thích bằng @Async trên giao diện , nó có thể không hoạt động. – shrini1000