摘要: 最近自己折腾点东西,使用mysql数据库的时候发现没有oracle的序列,插入数据前无法通过获取序列的方式拿到记录ID值,设置到关联表中进行关联。在网上找了一些相关的资料,可以拿到最后一次插入的ID值。在MySQL中,使用auto_increment类型的id字段作为表的主键。通常的做法,是通过“select max(id) from tablename”的做法,但是显然这种做法需要考虑并发的情况,需要在事务中对主表以“X锁“,待获得max(id)的值以后,再解锁。这种做法需要的步骤比较多,有些麻烦,而且并发性也不好。有没有更简单的做法呢?答案之一是通过select LAST_INSERT_I 阅读全文
posted @ 2013-04-19 22:42 周蝌蚪 阅读(3133) 评论(0) 推荐(0) 编辑
摘要: SEVERE: The web application [/jmanager] appears to have started a thread named [pool-21-thread-1] but has failed to stop it. This is very likely to create a memory leak.下午又碰到个这样的提示,跑的好好的应用,怎么会有这样的问题呢!看到提示后忽然明白了什么,容器发生异常后线程没有停掉,所以就会有这样的提示,检查了一下代码,发现在springApplicationListener的一个实现类中出现了空指针,导致spring 上下文 阅读全文
posted @ 2013-04-18 16:21 周蝌蚪 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 遇到一个问题折腾了两个小时,归根于对spring import resource的错误的认识。认为只要使用classpath*,就会将classpath下的所有目录的这个文件加载进去。实际上,<import resource="classpath*:defaultConfig.xml" /> 这样的配置,只能将classes根目录下的defaultConfig.xml加载进入spring的上下文,而memcachedclientConfig/defaultConfig.xml文件是无法加载进去的。所以如果配置文件不在classes根目录下,或者jar的包根目录下 阅读全文
posted @ 2013-04-18 15:36 周蝌蚪 阅读(4590) 评论(0) 推荐(0) 编辑
摘要: 今天有个linux服务器一直报Too Many Open Files的异常,导致系统进行网络请求失败,重启应用容器之后恢复正常。找到了当时的服务器连接监控,发现close_wait状态的连接一直在升高,上升到了10k后就引起应用报错了。因为我们设置的linux的最大的连接数为10240。在博客园逛了一下,找到了下面的描述如果我们的服务器TCP连接处于CLOSE_WAIT状态的话,那说明套接字是被动关闭的!因为如果是CLIENT端主动断掉当前连接的话,那么双方关闭这个TCP连接共需要四个packet:Client ---> FIN ---> Server Client <--- 阅读全文
posted @ 2013-04-13 11:32 周蝌蚪 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 前段时间有几个同行跟我吐槽说系统响应越来越慢,优化不知道从何入手!今天写写使用spring的aop来实现方法级的执行时间的记录监控,以此来评估方法的性能以及针对性的对已存在的方法进行优化。对于监控,我们比较关注监控的可靠性和性能,准确,高效,这才能在不影响整体性能的情况下对我们的系统性能有个较准确的认识。对于spring aop这个我就不多介绍了,网上一搜一大把,使用过spring的人都知道spring的ioc和aop。ioc我们常用,但在我们自己的系统中,aop的使用几乎为零,除了这个监控的小功能应用到了,其他的基本上没有使用到。我们使用BeanNameAutoProxyCreator,指定 阅读全文
posted @ 2013-04-12 17:01 周蝌蚪 阅读(3645) 评论(0) 推荐(1) 编辑
摘要: 10年的时候在iteye的第一篇文章记录了一下当时怎么实现我们系统的单点登陆。不过那个时候文章写的不好,思路也很浮躁,很难看懂,在csdn的第一篇技术博客打算重新温顾一下当时实现单点登陆的思路。先来看看什么叫单点登陆单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。 --百度百科为什么要实现单点登陆?从10年新版改造后,我们把一些辅助功能垂直切分成单独的应用,跑在不同的应用服务器集群中。实现 阅读全文
posted @ 2013-04-12 16:55 周蝌蚪 阅读(634) 评论(0) 推荐(0) 编辑
摘要: 从08年的11月份开始,我以一个实习生的身份,正式成为了一个互联网相关的从业者,从那一天起,把我几乎所有的精力都投入我所喜爱的这个工作上,在一个名不见经传,小的只有两个程序员的公司里完成了我的实习的生涯。2009年6月,捧着大红本,带着我的职业规划,离开了校园,迈向那依然一知半解的社会。 09年8月20日,一个非常普通的日子,离开我实习的地方,来到了我的第一份工作岗位上,从事一个的电子商务系统的开发维护,也正是这份工作,让一个一问三不知的应届毕业生,慢慢的成长起来。感谢这份工作给予的帮助,感谢给予帮助的同事们,更应该感谢那些创造逆境让我成长的人民。感谢你们。 10年9月2日,离开了第... 阅读全文
posted @ 2013-04-12 16:50 周蝌蚪 阅读(176) 评论(0) 推荐(1) 编辑