2014-09-14 16 views
6

Tôi biết làm thế nào để kích hoạt tính năng hỗ trợ async trong một cấu hình XML, tôi đã làm như vậy cho các bộ lọc và servlets bằng cách thêm thẻCách bật async hỗ trợ cho một mùa xuân MVC ứng dụng trong tập tin cấu hình java (Không XML)

async-supported>true/async-supported 

Cách thực hiện trong tệp cấu hình Java. Tôi tạo ra một lớp WebInit mà thực hiện WebApplicationInitializer và ghi đè onStartUp-tôi nên làm gì tiếp theo?

public class WebInit implements WebApplicationInitializer { 

    @Override 
    public void onStartup(ServletContext container) throws ServletException { 
     //What to do here, to move from XML to java config 
} 
} 
+1

javadoc có ví dụ: http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/WebApplicationInitializer.html. Bạn cần phải đăng ký một lớp cấu hình cho ứng dụng Spring của bạn, và lớp cấu hình này chỉ cần được chú thích bằng '@ EnabledAsync'. –

Trả lời

3

Dọc theo dòng sau -

ServletRegistration.Dynamic registration = container.addServlet(servletName, myServlet); 
registration.setAsyncSupported(true); 

EDIT: Xin lỗi, không nhận ra rằng bạn đang tìm kiếm một giải pháp cụ thể mùa xuân. Với Spring MVC, bạn chỉ cần mở rộng AbstractAnnotationConfigDispatcherServletInitializer giả sử rằng ngữ cảnh gốc và web của bạn là @Configuration dựa. Trình khởi tạo này lần lượt kéo dài từ AbstractDispatcherServletInitializer, lớp này có cờ asyncSupported được đặt theo mặc định.

+0

Biju, Cảm ơn con trỏ, nhưng tôi muốn thêm hỗ trợ này vào servlet Spring Dispatcher. Tôi đã sử dụng enableMvc và các chú thích khác để cấu hình MVC và không có ánh xạ rõ ràng cho servlet spring dispatcher. Làm cách nào tôi có thể truy xuất tham chiếu của servlet dispatcher đã tạo và thêm thẻ được hỗ trợ asyn vào nó? – cpandey05

+0

OK, tôi nghĩ đây là câu hỏi chung về cách đặt cờ 'async' cho servlet - đã chỉnh sửa câu trả lời của tôi ngay bây giờ cho servlet Spring cụ thể. Xem liệu bản chỉnh sửa có giúp ích hay không. –

Các vấn đề liên quan