设为首页 收藏本站
查看: 714|回复: 0

[经验分享] 目前发现的最好最快的直接在ECLIPSE中JETTY调试方式

[复制链接]

尚未签到

发表于 2017-2-27 10:06:08 | 显示全部楼层 |阅读模式
  最近项目用到maven,所以找到了这篇文章,正好实用挺不错的。
  适用于6.1.3以上,包括6.1.5的JETTY。
  它主要是利用了JDK的代码自动更换性能(code hot replace),可以不用重启JETTY就调试、更换资源文件。注意:一定是DEBUG方式运行才有这项功能。
  所以应该说这篇文章的方法更好:
  在Run->Debug中,New一个Java Application的配置,填入:
  org.mortbay.xml.XmlConfiguration
DSC0000.jpg

  参数填入一个自己的JETTY配置文件:
DSC0001.jpg


完成的myjetty.xml配置文件,请将其中的相应目录修改成自己项目的目录:


DSC0002.gif <?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">

<!-- =============================================================== -->
<!-- Configure the Jetty Server                                      -->
<!--                                                                 -->
<!-- Documentation of this file format can be found at:              -->
<!-- http://docs.codehaus.org/display/JETTY/jetty.xml                -->
<!--                                                                 -->
<!-- =============================================================== -->


<Configure id="Server" class="org.mortbay.jetty.Server">

    
<!-- =========================================================== -->
    
<!-- Server Thread Pool                                          -->
    
<!-- =========================================================== -->
    
<Set name="ThreadPool">
      
<!-- Default bounded blocking threadpool 
      
-->
      
<New class="org.mortbay.thread.BoundedThreadPool">
        
<Set name="minThreads">10</Set>
        
<Set name="maxThreads">250</Set>
        
<Set name="lowThreads">25</Set>
      
</New>

      
<!-- Optional Java 5 bounded threadpool with job queue 
      <New class="org.mortbay.thread.concurrent.ThreadPool">
        <Set name="corePoolSize">250</Set>
        <Set name="maximumPoolSize">250</Set>
      </New>
      
-->
    
</Set>



    
<!-- =========================================================== -->
    
<!-- Set connectors                                              -->
    
<!-- =========================================================== -->
    
<!-- One of each type!                                           -->
    
<!-- =========================================================== -->

    
<!-- Use this connector for many frequently idle connections
         and for threadless continuations.
    
-->    
    
<Call name="addConnector">
      
<Arg>
          
<New class="org.mortbay.jetty.nio.SelectChannelConnector">
            
<Set name="port"><SystemProperty name="jetty.port" default="8080"/></Set>
            
<Set name="maxIdleTime">30000</Set>
            
<Set name="Acceptors">2</Set>
            
<Set name="statsOn">false</Set>
            
<Set name="confidentialPort">8443</Set>
        
<Set name="lowResourcesConnections">5000</Set>
        
<Set name="lowResourcesMaxIdleTime">5000</Set>
          
</New>
      
</Arg>
    
</Call>

    
<!-- Use this connector if NIO is not available.
    <Call name="addConnector">
      <Arg>
          <New class="org.mortbay.jetty.bio.SocketConnector">
            <Set name="port">8081</Set>
            <Set name="maxIdleTime">50000</Set>
            <Set name="lowResourceMaxIdleTime">1500</Set>
          </New>
      </Arg>
    </Call>
    
-->

    
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    
<!-- To add a HTTPS SSL listener                                     -->
    
<!-- see jetty-ssl.xml to add an ssl connector. use                  -->
    
<!-- java -jar start.jar etc/jetty.xml etc/jetty-ssl.xml             -->
    
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    
    
<!-- =========================================================== -->
    
<!-- Set up global session ID manager                            -->
    
<!-- =========================================================== -->
    
<!--
    <Set name="sessionIdManager">
      <New class="org.mortbay.jetty.servlet.HashSessionIdManager">
        <Set name="workerName">node1</Set>
      </New>
    </Set>
    
-->

    
<!-- =========================================================== -->
    
<!-- Set handler Collection Structure                            --> 
    
<!-- =========================================================== -->
    
<Set name="handler">
      
<New id="Handlers" class="org.mortbay.jetty.handler.HandlerCollection">
        
<Set name="handlers">
         
<Array type="org.mortbay.jetty.Handler">
           
<Item>
             
<New id="Contexts" class="org.mortbay.jetty.handler.ContextHandlerCollection"/>
           
</Item>
           
<Item>
             
<New id="DefaultHandler" class="org.mortbay.jetty.handler.DefaultHandler"/>
           
</Item>
           
<Item>
             
<New id="RequestLog" class="org.mortbay.jetty.handler.RequestLogHandler"/>
           
</Item>
         
</Array>
        
</Set>
      
</New>
    
</Set>
    
<Set name="handler">   
  
<New id="Handlers" class="org.mortbay.jetty.handler.HandlerCollection">   
    
<Set name="handlers">   
      
<Array type="org.mortbay.jetty.Handler">   
        
<!--Item>   
          <New id="RequestLog" class="org.mortbay.jetty.handler.RequestLogHandler"/>   
        </Item
-->   
        
<Item>   
          
<New class="org.mortbay.jetty.webapp.WebAppContext">   
            
<Set name="contextPath">/ebnms</Set>   
            
<Set name="resourceBase">E:/Prj2/ForMe/Src/flower/src/main/webapp</Set>   
            
<Call name="addServlet">   
              
<Arg>org.mortbay.jetty.servlet.DefaultServlet</Arg>   
              
<Arg>/</Arg>   
            
</Call>   
          
</New>   
    
</Item>   
      
</Array>   
    
</Set>   
  
</New>   
</Set>   


    
<!-- =========================================================== -->
    
<!-- Configure Authentication Realms                             -->
    
<!-- Realms may be configured for the entire server here, or     -->
    
<!-- they can be configured for a specific web app in a context  -->
    
<!-- configuration (see $(jetty.home)/contexts/test.xml for an   -->
    
<!-- example).                                                   -->
    
<!-- =========================================================== -->
    
<Set name="UserRealms">
      
<Array type="org.mortbay.jetty.security.UserRealm">
        
<!--
        <Item>
          <New class="org.mortbay.jetty.security.HashUserRealm">
            <Set name="name">Test Realm</Set>
            <Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/realm.properties</Set>
          </New>
        </Item>
    
-->
      
</Array>
    
</Set>

    
<!-- =========================================================== -->
    
<!-- Configure Request Log                                       -->
    
<!-- Request logs  may be configured for the entire server here, -->
    
<!-- or they can be configured for a specific web app in a       -->
    
<!-- contexts configuration (see $(jetty.home)/contexts/test.xml -->
    
<!-- for an example).                                            -->
    
<!-- =========================================================== -->
    
<!--Ref id="RequestLog">
      <Set name="requestLog">
        <New id="RequestLogImpl" class="org.mortbay.jetty.NCSARequestLog">
          <Set name="filename"><SystemProperty name="jetty.logs" default="./logs"/>/yyyy_mm_dd.request.log</Set>
          <Set name="filenameDateFormat">yyyy_MM_dd</Set>
          <Set name="retainDays">90</Set>
          <Set name="append">true</Set>
          <Set name="extended">true</Set>
          <Set name="logCookies">false</Set>
          <Set name="LogTimeZone">GMT</Set>
        </New>
      </Set>
    </Ref
-->

    
<!-- =========================================================== -->
    
<!-- extra options                                               -->
    
<!-- =========================================================== -->
    
<Set name="stopAtShutdown">true</Set>
    
<Set name="sendServerVersion">true</Set>
    
<!--Set name="sendDateHeader">true</Set-->
    
<!--Set name="gracefulShutdown">1000</Set-->
</Configure>


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-347788-1-1.html 上篇帖子: WebSocket +Jetty+jQuery 实现服务器消息推送例子 下篇帖子: 分享略作修改的多模块web项目调试神器run-jetty-run
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表