• Tomcat中Listener的使用范例(转载http://cywhoyi.iteye.com/blog/2075848)


    Tomcat是非常有名的开源容器,因其开源我们可以对其做定制化的改变,而且Tomcat在其配置文件方面做了很多注释说明摘要,帮助我们更好的定制化我们所需的功能点。

    New Tomcat Listener

    首先看下Tomcat整个比较有名的Listener,在我们的conf/server.xml文件中一目了然



    类图


    NEXT 自定义的Listener,本代码是案例的方式,实际上在我们项目中定制化扩展了,譬如应用stop后,通知集群下的另外机器;监听接受UDP发过来的信息...

    Java代码  收藏代码
    1. import java.io.FileWriter;  
    2. import java.io.IOException;  
    3. import java.net.DatagramPacket;  
    4. import java.net.DatagramSocket;  
    5. import java.net.InetAddress;  
    6. import java.net.SocketException;  
    7. import java.net.UnknownHostException;  
    8.   
    9. import org.apache.catalina.Container;  
    10. import org.apache.catalina.Executor;  
    11. import org.apache.catalina.Lifecycle;  
    12. import org.apache.catalina.LifecycleEvent;  
    13. import org.apache.catalina.LifecycleException;  
    14. import org.apache.catalina.LifecycleListener;  
    15. import org.apache.catalina.LifecycleState;  
    16. import org.apache.catalina.Server;  
    17. import org.apache.catalina.Service;  
    18. import org.apache.catalina.connector.Connector;  
    19. import org.apache.juli.logging.Log;  
    20. import org.apache.juli.logging.LogFactory;  
    21.   
    22. public class EwellListener implements LifecycleListener {  
    23.   
    24.     public void lifecycleEvent(LifecycleEvent event) {  
    25.         System.out.println("-------------------------------------------------");  
    26.         if (event != null && event.getLifecycle() != null) {  
    27.             System.out  
    28.                     .println(event.getLifecycle().getStateName() + "chenyang");  
    29.         }  
    30.         System.out.println("-------------------------------------------------");  
    31.         if (!(event.getLifecycle() instanceof Server))  
    32.             return;  
    33.   
    34.         if (!Lifecycle.AFTER_START_EVENT.equals(event.getType()))  
    35.             return;  
    36.   
    37.         Server server = (Server) event.getLifecycle();  
    38.       
    39.     }  
    40. }  

     对于容器在不同事件下触发的行为,在tomcat中LifeCycle都有说明



     

    下一步就是如何在Tomcat中能够进行识别以及启动呢?

    1.把你生成的jar包放入,tomcat的lib的目录下${CATALINA_HOME}/lib or ${CATALINA_BASE}/lib

    2.把你的监听器配置到server.xml文件中

  • 相关阅读:
    webbench之使用(二)
    webbench之编译安装(一)
    Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍
    OneThink开发框架
    性能瓶颈调优
    Jmeter之Web端HTTP性能测试(九)
    RobotFramework自动化测试之脚本编写(一)
    LoadRunner之安装、破解、汉化教程(一)
    Java学习之Thread方法
    Java学习之线程通信(多线程(Lock))--生产者消费者
  • 原文地址:https://www.cnblogs.com/caobojia/p/5987669.html
Copyright © 2020-2023  润新知