基於windows的resin配置


Resin 與 Eclipse for JavaEE 的整合方法:

1.新建一個項目,將web application配置到resin.conf中

附上resin_struts2-111.conf文件:(為方便區分我將這個conf文件命名為resin_項目名.conf)

 

<!--
   -  Resin 3.1 配置文件.
  -->
<resin xmlns="http://caucho.com/ns/resin"
       xmlns:resin="http://caucho.com/ns/resin/core">

  <!-- 加載resin/lib下的所有.jar文件 -->
  <class-loader>
    <tree-loader path="${resin.home}/ext-lib"/>
    <tree-loader path="${resin.root}/ext-lib"/>

    <tree-loader path="${resin.home}/lib"/>
    <tree-loader path="${resin.root}/lib"/>
  </class-loader>

  <!--
     管理配置
    -->
  <management path="${resin.root}/admin">
    <user name="admin" password="password" disable="true"/>

    <resin:if test="${resin.professional}">
      <deploy-service/>
      <jmx-service/>
      <log-service/>
      <xa-log-service/>
    </resin:if>
  </management>

  <!--
    -JDK日志接口的配置
     - 
    -->
  <log name="" level="info" path="stdout:"
       timestamp="[%H:%M:%S.%s] {%{thread}} "/>

  <!--
     日志信息的級別:'info' 生產環境 'fine' 開發環境 'finer' 調試環境
    -->
  <logger name="com.caucho" level="info"/>

  <logger name="com.caucho.java" level="config"/>
  <logger name="com.caucho.loader" level="config"/>

  <!--
     - 環境上下文的檢測時間,對於生產站點, 這個要設置長一點,例如600秒,10分鍾     
    -->
  <dependency-check-interval>2s</dependency-check-interval>

  <!--
     - 發送郵件通知的SMTP服務器 
    -->
  <system-property mail.smtp.host="127.0.0.1"/>
  <system-property mail.smtp.port="25"/>

  <!--
     - Sets the default character encoding to utf-8
     -
     - <character-encoding>utf-8</character-encoding>
    -->

  <!--
     -你可以把編譯器改成 "javac", "eclipse" 或者 "internal". 
    -->
  <javac compiler="internal" args="-source 1.5"/>

  <!-- Security providers.
     - <security-provider>
     -    com.sun.net.ssl.internal.ssl.Provider
     - </security-provider>
    -->

  <!-- 去掉注釋,如果你使用resin提供的xml應用
     -
     - <system-property javax.xml.parsers.DocumentBuilderFactory
     -                 ="com.caucho.xml.parsers.XmlDocumentBuilderFactory"/>
     - <system-property javax.xml.parsers.SAXParserFactory
     -                 ="com.caucho.xml.parsers.XmlSAXParserFactory"/>
    -->

  <cluster id="app-tier">
    <!-- 設置集群上下文的根, 相對於server.root -->
    <root-directory>.</root-directory>

    <server-default>
      <!-- HTTP服務的端口 -->
      <http address="*" port="8001"/>

      <!--
         - SSL端口配置:
         -
         - <http address="*" port="8443">
         -   <openssl>
         -     <certificate-file>keys/gryffindor.crt</certificate-file>
         -     <certificate-key-file>keys/gryffindor.key</certificate-key-file>
         -     <password>test123</password>
         -   </openssl>
         - </http>
        -->

      <!--
         - JVM參數設置
        -->
      <jvm-arg>-Xmx256m</jvm-arg>
      <jvm-arg>-Xss1m</jvm-arg>
      <jvm-arg>-Xdebug</jvm-arg>
      <jvm-arg>-Dcom.sun.management.jmxremote</jvm-arg>

      <!--
         - Uncomment to enable admin heap dumps
         去掉這個如果你想管理內存堆的傾倒
         - <jvm-arg>-agentlib:resin</jvm-arg>
        -->

      <!--
         - arguments for the watchdog process
        -->
      <watchdog-jvm-arg>-Dcom.sun.management.jmxremote</watchdog-jvm-arg>
      <watchdog-port>6600</watchdog-port>

      <!--
         - 強制resin強制重起時的最小空閑內存
        -->
      <memory-free-min>1M</memory-free-min>

      <!-- 最大線程數量 -->
      <thread-max>256</thread-max>

      <!-- 套接字等待時間  -->
      <socket-timeout>65s</socket-timeout>

      <!--  配置 keepalive-->
      <keepalive-max>128</keepalive-max>
      <keepalive-timeout>15s</keepalive-timeout>

      <!--
         -如果使用的是UNIX,這里是啟動的帳號和用戶組.
         -
         - <user-name>resin</user-name>
         - <group-name>resin</group-name>
        -->
    </server-default>

    <!--定義群集服務器-->
    <server id="" address="127.0.0.1" port="6800"/>

    <!--
       -配置獨立服務器或者群集的持久化存儲,專業版的功能
      -->
    <resin:if test="${resin.professional}">
      <persistent-store type="cluster">
        <init path="session"/>
      </persistent-store>
    </resin:if>

    <!--
       -為了安全, 你可以為SSL會話(SSL sessions)定義一個不同的cookie.
       - <ssl-session-cookie>SSL_JSESSIONID</ssl-session-cookie>
      -->

    <!--
       - 緩存啟用 (專業版的功能) 
      -->
    <resin:if test="${resin.professional}">
      <cache path="cache" memory-size="64M">
        <!-- Vary header rewriting for IE -->
        <rewrite-vary-as-private/>
      </cache>
    </resin:if>

    <!--
       - 啟用周期性的服務器狀態檢查和死鎖檢查,所有的服務器可以添加 <url> 來檢查。
      -->
    <resin:if test="${resin.professional}">
      <ping>
        <!-- <url>http://localhost:8080/test-ping.jsp</url> -->
      </ping>
    </resin:if>

    <!--
       - Defaults applied to each web-app.
      -->
    <web-app-default>
      <prologue>
        <!--
           -擴展庫的公共jar文件,擴展是安全的即使沒有類裝載器知道的jars,裝載的類將為每個應用分別裝載,也就是這些類都是不同的
          -->
        <class-loader>
          <tree-loader path="${resin.root}/ext-webapp-lib"/>
        </class-loader>

        <!--
           - 啟用EL表達式
          -->
        <allow-servlet-el/>
      </prologue>
      
      <!--
         - 設置緩存頁、靜態也的延時值
        -->
      <cache-mapping url-pattern="/" expires="5s"/>
      <cache-mapping url-pattern="*.gif" expires="60s"/>
      <cache-mapping url-pattern="*.jpg" expires="60s"/>
      <cache-mapping url-pattern="*.png" expires="60s"/>

      <!--
         - 安全原因, 默認禁用了會話的URLs
        -->
      <session-config>
        <enable-url-rewriting>false</enable-url-rewriting>
      </session-config>

      <!--
         - 安全原因, 在cookies中設置HttpOnly標志
         - <cookie-http-only/>
        -->

      <!--
         -一些JSP包有不正確的 .tld文件。可以把validate-taglib-schema設置成false,可能繼續正常工作
        -->
        <jsp>
          <validate-taglib-schema>true</validate-taglib-schema>
          <fast-jstl>true</fast-jstl>
        </jsp>
    </web-app-default>

    <!-- includes the app-default for default web-app behavior -->
    <resin:import path="${resin.home}/conf/app-default.xml"/>

    <!--
       - 簡單的數據池配置
       -
       - The JDBC name is java:comp/env/jdbc/test
         <database>
           <jndi-name>jdbc/mysql</jndi-name>
           <driver type="org.gjt.mm.mysql.Driver">
             <url>jdbc:mysql://localhost:3306/test</url>
             <user></user>
             <password></password>
            </driver>
            <prepared-statement-cache-size>8</prepared-statement-cache-size>
            <max-connections>20</max-connections>
            <max-idle-time>30s</max-idle-time>
          </database>
      -->

    <!--
       - 定義所有虛擬主機的默認配置
      -->
    <host-default>
      <!--
         -如果和別的web服務器整合,這個可以被去掉,因為web服務器也可以記錄這些信息。
        -->
      <access-log path="logs/access.log" 
            format='%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"'
            rollover-period="1W"/>

      <!-- war 文件的布置目錄 -->
      <web-app-deploy path="webapps"/>

      <!--  ear文件的布置目錄 -->
      <ear-deploy path="deploy">
        <ear-default>
          <ejb-server>
            <config-directory>WEB-INF</config-directory>
          </ejb-server>
        </ear-default>
      </ear-deploy>

      <!-- rar文件的布置目錄 -->
      <resource-deploy path="deploy"/>
    </host-default>

    <!-- 虛擬主機的布置目錄 -->
    <host-deploy path="hosts">
      <host-default>
        <resin:import path="host.xml" optional="true"/>
      </host-default>
    </host-deploy>

    <!--  默認的虛擬主機配置 -->
    <host id="" root-directory=".">
      <!-- - 配置默認的應用 webapp's ROOT -->
<!--
    

注意:若使用myeclipse/eclipse創建項目,會有一個項目名(projectName),而此處的root-directory並非項目路徑,而是一個特殊的目錄,該目錄的子目錄以及文件必須符合Servlet規范,通常就是eclipse默認創建的WebContent,這個名字可以隨便改。btw,這個規范的層級結構主要有三個元素:

/WEB-INF/web.xml

/WEB-INF/classes/

/WEB-INF/lib/

必須包含有上面三個東西。配置文件(*.properties, *.xml等等)需要放在classes下

-->
<web-app id="/struts2" root-directory="D:\RuahoDemo\projectWorkpace\struts2-111\WebContent"/> <web-app id="/resin-admin" root-directory="${resin.home}/php/admin"> <!-- - 管理應用程序 /resin-admin --> <prologue> <resin:set var="resin_admin_external" value="false"/> <resin:set var="resin_admin_insecure" value="true"/> </prologue> </web-app> </host> </cluster> <!-- - Configuration for the web-tier/load-balancer --> <resin:if test="${resin.professional}"> <cluster id="web-tier"> <server-default> <!-- The http port --> <http address="*" port="9080"/> </server-default> <server id="web-a" address="127.0.0.1" port="6700"/> <cache path="cache" memory-size="64M"/> <host id=""> <web-app id="/"> <rewrite-dispatch> <load-balance regexp="" cluster="app-tier"/> </rewrite-dispatch> </web-app> </host> </cluster> </resin:if> </resin>

 

 

2.Run – Run Configurations(在本地調試的話,選擇Debug Configurations)

彈出的會話中,雙擊“Java Application”創建一個Configuration,在右邊的Name中隨意填寫一個名字,標簽頁Main中,Project選擇待運行web application,Main class填寫resin的主類,查找該類有兩種方法:

  • 該類可以在${RESIN_HOME}/lib/resin.jar中的META-INF/MANIFEST.MF文件中找到,即Main-Class的值;
  • 將${RESIN_HOME}/lib添加到項目的classpath后,即在Main標簽頁點擊“搜索”,在彈出的對話框中搜索“resin”,如果是3.0.x,選擇com.caucho.server.resin.Resin,如果是3.1.x,選擇com.caucho.boot.ResinBoot,具體的選擇,還是要參考META-INF/MANIFEST.MF文件的Main-Class值,如圖:

標簽頁 Arguments中:

VM Arguments中: 

  • -Dresin.home=D:\Ruaho\resin\resin-3.1.12 (實際路徑)
    -Djava.util.logging.manager=com.caucho.log.LogManagerImpl
    -Xmx1024m

ClassPath標簽頁中:導入jar包 

 

完成以上各步之后,點擊Run即可啟動resin。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM