使用ping功能使resin更健壮

由于种种原因,resin有时会遇到resin down机的情况,比如:java.lang.OutOfMemoryError。这样的问题如果从代码角度来解决问题,也不是一时半会能解决的,应急解决方案是启用resin-pro的ping功能。
    <resin:if test=”${isResinProfessional}”>
      <ping>
        <url>http://localhost:8080/ping.jsp</url>
        <sleep-time>1m</sleep-time>
        <try-count>5</try-count>
        <socket-timeout>30s</socket-timeout>
      </ping>
    </resin:if>

ping.jsp可随意写一些代码,纯html代码也行,只能服务器能响应返回200。

如果访问resin访问http://localhost:8080/ping.jsp返回不是200 code,然后再重试try-count次,如果依然不响应200,则将自动重启resin服务。

如果在resin tag下配置了:

  <system-property mail.smtp.host=”127.0.0.1″/>
  <system-property mail.smtp.port=”25″/>

还可以让resin自动给你发个邮件通知你它自动重启过了:

    <ping resin:type=”com.caucho.server.admin.PingMailer”>
      <url>http://localhost:8080/ping.jsp</url>
      <mail-to>fred@hogwarts.com</mail-to>
      <mail-from>resin@hogwarts.com</mail-from>
      <mail-subject>Resin ping has failed for server ${’${’}server.name}</mail-subject>
    </ping>

这样配置好了,不管resin出现什么故障,只要resin进程不死,就可以放心睡大觉了。

如果还启用了resin的session持久化存储,用户基本感觉不到服务已经重启过了。

如果启用了resin的cluster,那么请修改httpd.sh,将-server参数加上,不然重启resin后是没有cluster的。

当然,这此功能都是resin-pro版提供的,免费版不支持ping,也不支持session持久、cluster。我已经破解了resin-pro版,可放心启用这些功能,并且将及时破解resin发布的最新pro版本。

关于resin破解,请查看<<破解resin-pro-3.1>>

Comments (1)

jason1月 29th, 2008 at 3:30 下午

我现在 做CAS 要开启 resin 的SSL 通道…网上 文章也说的不大详细…如果您能帮助我 请把方法发到我的邮箱 或者能写一些关于 RESIN的 文章…感谢…

Leave a comment

Your comment