zoukankan      html  css  js  c++  java
  • 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文件中

  • 相关阅读:
    hihoCoder[Offer收割]编程练习赛1题目解析
    你的计划为什么运行不下去?怎么破?
    Activity的生命周期
    leetcode——Lowest Common Ancestor of a Binary Tree
    Spring学习笔记(四)-- Spring事务全面分析
    Docker技术-cgroup
    docker高级应用之cpu与内存资源限制(转)
    JMX 学习
    如何使用JVisualVM进行性能分析
    如何利用 JConsole观察分析Java程序的运行,进行排错调优(转)
  • 原文地址:https://www.cnblogs.com/caobojia/p/5987669.html
Copyright © 2011-2022 走看看