在做struts2.spring网站时,在系统闲置一段时间后,访问页面会出错,第二次再访问就正常了.后来查了后台日志,发现是数据库连接关闭了,导致页面访问出错.页面上报空指针错误,错误没有保留,日志中记录的错误如下: ERROR (java.sql.Connection:19)- Error calling Connection.close:java.sql.SQLException: Already closed.at org.apache.commons.dbcp.PoolableConne…
tomcat运行一段时间后报打开太多文件错误:Too many open files  查看当前进程的文件打开数: lsof -n |awk '{print $2}'|sort|uniq -c |sort -nr|more 或 ps -ef | grep 进程号或进程名称| grep -v "grep" | awk '{print $2}' PS:第一行是打开的文件句柄数量,第二行是进程号.得到进程号后,我们可以通过ps命令得到进程的详细内容 原因: 可能是系统内存资源消耗问题,也有可…
用Spring Boot默认支持的 Scheduler来运行定时任务,有时在服务器运行一段时间后会自动关闭.原因:Schedule默认是单线程运行定时任务的,即使是多个不同的定时任务,默认也是单线程运行.当线程挂掉时,定时任务也随之终止. 解决方法: 一.改为多线程执行定时任务: 加一个配置类,实现SchedulingConfigurer接口,重写configureTasks方法即可: import org.springframework.context.annotation.Configura…
前因: 我写了一个小项目,主要功能是用Spring task定时任务每天定时给用户发送邮件.执行了几个月一直没有问题,前几天,莫名其妙的突然不再发送邮件了. 只好花费一些时间来查看到底是什么原因造成的. 定时任务的作业内容: step1: http请求方式调用远程的一个WebService接口,来获取数据,一个任务中需要调用n(n>1)次远程接口. step2: 解析获取的数据,生成数据表和曲线图. step3: 将数据表和曲线图,以邮件的形式发送给用户. 问题出现: 在步骤1中,需要调用10(…
由于关键词比较敏感为了不被删除帖子所以文中某软件(上图所示软件)不用全称表示. 去年9月末在 在某国外网站 上弄了一个vpn,在上面安装了某软件,使用起来还是蛮不错的,平时查查英文论文,看看美剧还是比较给力的.由于办这个东西花了好几百RMB总觉得应该把它给充分利用于是在服务器上多开了几个端口分给身边的同学和朋友使用,谁知好景不长没有多久大概也就半个多月吧发现VPN 的IP 给封锁掉了.由于本人也是CS专业的对该软件的一些原理还是懂些的,总是想不同本来使用该软件就已经把传输的数据进行了加密(soc…
java.lang.OutOfMemoryError: PermGen space 全称是Permanent Generation space,是指内存的永久保存区域. 由于这块内存主要是被JVM存放Class和Meta信息的,Class在被Load的时候被放入PermGen space区域,它和存放Instance的Heap区域不同,sun的 GC不会在主程序运行期对PermGen space进行清理,所以如果你的APP会载入很多CLASS的话,就很可能出现PermGen space溢出. 解…
Redis报错 1.redis在最终目标上移动临时数据库文件时出错 错误:redis:Error moving temp DB file temp-13792.rdb on the final destination authorized_keys (in server root dir /root/.ssh): Operation not permitted 解决方案: 修改redis配置文件:vim /usr/local/redis/etc/6379.conf 将dir ./   修改为re…
1. 前言 基于Maven的开发方式开发项目已经成为主流.Maven能很好的对项目的层次及依赖关系进行管理.方便的解决大型项目中复杂的依赖关系.S2SH(Struts2+Spring+Hibernate)框架是目前进行WEB项目开发中非常流行的一个组合.基于作者对于这个三个框架的了解及其相关的开发经验,介绍下搭建基于Maven的S2SH框架的过程. 2. Maven顶级父仓库(Repository)工程 如果要从头到尾搭建Maven工程的话,这步是必不可少的.创建顶级Maven仓库成功的方法有很…
struts2 + Spring +hibernate Hibernate工作原理及为什么要用?   原理:   1.读取并解析配置文件   2.读取并解析映射信息,创建SessionFactory   3.打开Sesssion   4.创建事务Transation  5.持久化操作   6.提交事务   7.关闭Session   8.关闭SesstionFactory    为什么要用:   1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码.    2. Hib…
此篇讲的是MyEclipse9工具提供的支持搭建自加包有代码也是相同:用户登录与注册的例子,表字段只有name,password. SSH,xml方式搭建文章链接地址:http://www.cnblogs.com/wkrbky/p/5912810.html 一.Hibernate(数据层)的搭建: 实现流程 二.Spring(注入实例)的使用: 实现流程 三.Struts2(MVC)的搭建: 实现流程 这里注意一点问题: Struts2与Hibernate在一起搭建,antlr包,有冲突.MyE…