Tôi đang cố gắng gọi phương thức khi ứng dụng web của tôi bắt đầu. Mục đích là để khởi động một bộ đếm thời gian thực hiện một số công việc tại các khoảng thời gian xác định. làm thế nào để tôi gọi một chức năng helloworld khi ứng dụng web jboss 7.1 của tôi khởi động?phương thức gọi khi khởi động máy chủ
Trả lời
khác sau đó ContextListeners, bạn cũng có thể có một servlet trong web.xml tải về khởi động:
<servlet>
<servlet-name>mytask</servlet-name>
<servlet-class>servlets.MyTaskServlet</servlet-class>
...
<load-on-startup>1</load-on-startup>
</servlet>
servlet này có thể bắt đầu công việc bằng cách sử dụng bất cứ điều gì có nghĩa là bạn muốn, xem ví dụ link này.
Nhưng bạn không nên sử dụng phương pháp đó, imho.
Sử dụng khung/lib đã được chứng minh như quartz hoặc một công cụ tương tự. Có rất nhiều vấn đề/vấn đề trong việc chạy và đồng bộ các tác vụ trong các máy chủ web và tốt hơn là sử dụng một số công cụ đã được chứng minh hơn là lặp lại những sai lầm mà các công cụ này đã gặp và giải quyết. Có thể mất một chút thời gian để nắm bắt nhưng sẽ tránh được nhiều cơn đau đầu.
Bản thân Jboss có một số công cụ cho mục đích đó: lập lịch và quản lý công việc. Không bao giờ được sử dụng vì vậy không thể khuyên bạn nên.
Sử dụng ServletContextListener
được định cấu hình trong web.xml
của bạn. Viết mã khởi động bộ hẹn giờ theo phương thức contextInitialized
.
Khám phá Quartz Scheduler. Bạn có thể sử dụng CronTrigger để kích hoạt trong khoảng thời gian xác định. Ví dụ, mỗi 5 phút sẽ trông như thế này:
"0 0/5 * * * ?"
Ý tưởng là để thực hiện các giao diện Job
đó là nhiệm vụ để chạy, sắp xếp nó bằng cách sử dụng SchedulerFactory
/Scheduler
, xây dựng bắt đầu Job
và CronTrigger
và nó.
Có một ví dụ rất rõ ràng here.
Nếu bạn muốn chạy một số mã trước khi ứng dụng web của bạn phục vụ bất kỳ khách hàng nào của bạn, bạn cần có ServletContextListener.
Tạo lớp người nghe của bạn
import javax.servlet.*;
public class MyServletContextListener implements ServletContextListener {
public void contextInitialized(ServletContextEvent e) {
//Call your function from the event object here
}
public void contextDestroyed(ServletContextEvent e) {
}
}
Đặt lớp trong WEB-INF/classes
Đặt một < nghe> phần tử trong tập tin web.xml.
<listener>
<listener-class>
com.test.MyServletContextListener
</listener-class>
</listener>
Hy vọng điều này sẽ hữu ích.
- 1. Phương thức gọi trong EJB khi khởi động JBoss
- 2. Khởi động VM âm đạo khi khởi động máy chủ
- 3. Cách khởi động một daemon khi khởi động máy chủ vào mùa xuân
- 4. Lỗi khi khởi động máy chủ jboss
- 5. Gọi phương thức bên máy chủ ASP.NET qua jQuery
- 6. Máy chủ SQL không thể gọi phương thức vào ngày
- 7. Lỗi phân đoạn đường ray khi khởi động máy chủ?
- 8. Lỗi di động jQuery "không thể gọi các phương thức trên listview trước khi khởi tạo"
- 9. Phương thức thực thi khi khởi động vào mùa xuân
- 10. Phương thức Yêu cầu Máy chủ PHP
- 11. Khởi động Máy chủ Kafka Vĩnh viễn
- 12. Máy chủ Rails không khởi động?
- 13. Lỗi khởi động máy chủ Rails Ubuntu
- 14. Rails Động cơ: Người giúp chỉ được tải lại khi khởi động lại máy chủ
- 15. Phương thức lớp hoạt động khác khi được gọi là phương thức thể hiện?
- 16. lỗi di động jquery - không thể gọi các phương thức trên nút trước khi khởi tạo; cố gắng gọi phương thức 'disabled'
- 17. Cách dừng tự động khởi động lại máy chủ
- 18. Gọi phương thức khi chuỗi kết thúc
- 19. Gọi phương thức tĩnh động trong PHP?
- 20. Phương thức Meteor.http không được xác định trên máy chủ?
- 21. Cách kết nối lại khi máy chủ LDAP được khởi động lại?
- 22. Gọi phương thức lớp động trong Dart
- 23. Phương thức hoạt động gọi từ Fragment
- 24. cách bảo mật các phương thức máy chủ của tôi
- 25. Kết nối lại máy khách RMI sau khi máy chủ khởi động lại
- 26. Phương pháp khởi động iPhone UIViewController không được gọi là
- 27. Làm cách nào để chạy một hành động khi khởi động máy chủ bằng Struts2?
- 28. Xác thực NSURL khi máy chủ không có thách thức
- 29. cách khởi tạo servlet khi khởi động sever
- 30. Phương thức khởi động của Dịch vụ WCF ở đâu?
tôi có thể thêm mã khởi động máy chủ Http trong phương thức contextInitialized không – Hema