今天突然分配一个任务,把项目中的 JavaMelody 配置发送邮件功能。
第一次听说 JavaMelody 这个词,从百度开始,经过短暂的时间,终于完成了 配置及发送邮件的功能。
项目地址:http://code.google.com/p/javamelody/wiki/UserGuide
1. 下载 javamelody-1.42.0.zip 和 javamelody-1.42.0.war 文件;
2. 将 javamelody-1.42.0.war 文件部署到 %TOMCAT_HOME%/webapps下;
3. 解压 javamelody-1.42.0.zip,将 javamelody.jar 导入到需要被监控的项目中;
4. 在需要被监控的项目的 web.xml 文件中添加如下内容:
<listener> <listener-class>net.bull.javamelody.SessionListener</listener-class> </listener> <filter> <filter-name>monitoring</filter-name> <filter-class>net.bull.javamelody.MonitoringFilter</filter-class> </filter> <filter-mapping> <filter-name>monitoring</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
5. 启动Tomcat,访问 http://localhost:8080/javamelody-1.42.0 地址,会看到如下界面:
6. 按照提示 添加应用URL,可以起个别名,方便管理,如上图示,点击“添加”按钮,会出现下图:
7. 此时,JavaMelody 配置完成。
然后说一下发送邮件的配置:
1. 在 %TOMCAT_HOME%/conf/server.xml 文件的 <Host> 标签内,添加如下内容:
<Context path="/javamelody-1.42.0" reloadable="false" > <Resource name="mail/MySession" auth="Container" type="javax.mail.Session" mail.smtp.host="smtp.163.com" mail.smtp.user="test@163.com" mail.from="test@163.com" mail.smtp.auth="true" mail.smtp.password="test123" /> <Parameter name="javamelody.admin-emails" value="test_one@163.com,test_two@163.com" override="false" /> <Parameter name="javamelody.mail-session" value="mail/MySession" override="false" /> <Parameter name="javamelody.mail-periods" value="day,week,month" override="false" /> </Context>
javamelody.admin-emails 参数:需要发送邮件的邮箱地址,多个用逗号隔开;
javamelody.mail-periods 参数:发送邮件的频率,day:每天;week:每周;month:每月;
2. 将 mail-1.4.1.jar 和 activation-1.1.jar 拷贝到 %TOMCAT_HOME%/lib 下(之所以要放在此处,是因为 javamelody-1.42.0.war 项目要用到该jar包);
3. 此时,配置完成,项目会自动按照配置进行邮件发送。
4. 为了测试配置是否成功,JavaMelody 提供了一个测试方法:
访问 http://localhost:8080/javamelody-1.42.0?action=mail_test即可测试邮件是否成功发送;
若成功,页面提示如下: