随笔 - 1357  文章 - 0  评论 - 1104  阅读 - 1941万

系统启动时队列自动下单--ServletContextListener

复制代码
package com.liying.pear.queue;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

import org.apache.log4j.Logger;

import com.liying.monkey.core.util.BeanFactory;
import com.liying.pear.web.order.service.OrderService;

/**
 * 进程监听器
 * 
 * @author jqlin
 *
 */
public class ProcessingListener implements ServletContextListener {
    private static final Logger logger = Logger.getLogger(ProcessingListener.class);
    
    @Override
    public void contextInitialized(ServletContextEvent servletContextEvent) {
        final OrderService ticketService = BeanFactory.getBean(OrderService.class);
        if(ticketService == null) {
            logger.warn("没有匹配的下单服务:" + OrderService.class.getName());
            return;
        }
        
         new Thread(new Runnable() {
             @Override
             public void run() {
                 ticketService.initSendOrder();
             }
         }).start();
    }

    @Override
    public void contextDestroyed(ServletContextEvent servletContextEvent) {

    }
}
复制代码

布署 ServletContextListener
你实现(implements)了 ServletContextListener 编译后,把它放在正确的WEB-INF/classes目录下,更改WEB-INF目录下的 web.xml文件,在web-app节点里添加:

    <listener>
        <listener-class>com.liying.pear.queue.ProcessingListener</listener-class>
    </listener>

 

posted on   Ruthless  阅读(370)  评论(1编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
历史上的今天:
2011-07-05 axis2+spring集成
2011-07-05 Myeclipse6.0安装svn插件
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示