TimerTask之spring静态注入

星期三, 2015-07-01 | Author: Lee | JAVA-and-J2EE | 没有评论

是用jdk自带的TimerTask做简单任务处理感觉蛮简单;

遇到spring无法注入的情况,具体表现:

@Resource annotation is not supported on static fields

1.第一次启动的时候对应的dao是可以注入进来的

2.中间执行run方法的时候dao则为NULL

解决 再引入一个静态初始化的时候转换即可:

 
@Resource
private BookDao bookDao;
 
private static BookDao bkDao;
 
public void start() {
    bkDao= this.bookDao;
    if (!start) {
	VisitStatServiceUtil daemon = new VisitStatServiceUtil();
	click_timer = new Timer("VisitStatServiceUtil", true);
	click_timer.schedule(daemon, INTERVAL, INTERVAL);// 运行间隔1分钟
	start = true;
    }
   log.info("VisitStatService started.");
}

注:在用xml配置的时候 可以通过get set 启用生效;(在项目去 DAO和Service的xml配置文件引发的一系列问题,逐个击破,达到切换到注解模式下)

Tags: , ,

Gravatar头像显示的简便方便之WordPress开发

星期一, 2015-06-29 | Author: Lee | wordpress | 没有评论

Gravatar的头像不显示,出现个xx感觉很不舒服,想法解决;
最简单的方式是使用https的方式去显示:

调用ssl 头像链接,后台编辑functions.php加入如下代码:

1
2
3
4
5
6
//调用ssl 头像链接
function get_ssl_avatar($avatar) {
   $avatar = preg_replace('/.*\/avatar\/(.*)\?s=([\d]+)&.*/','<img src="https://secure.gravatar.com/avatar/$1?s=$2&d=mm" class="avatar avatar-$2" height="$2" width="$2">',$avatar);
   return $avatar;
}
add_filter('get_avatar', 'get_ssl_avatar');

Tags: ,

阿里云香港主机恢复小记

星期日, 2015-06-21 | Author: Lee | JAVA-and-J2EE, linux | 没有评论

阿里云香港主机服务停止了算是有一天的时间,具体什么时候开始的就不清楚了

只知道大概下午2点左右的时候收到的短信通知,一直到晚上23点的时候才真正恢复

服务器才可以登录,具体服务的影响还要去启动服务器,我以前做了自动启动但还是有影响

其中的软链接 失效了,记录下

对应的启动信息:

1.error while loading shared libraries:libmysqlclient.so.18
重新做下软链接
ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64
› Continue reading

Tags:

大型在线阅读网站的技术拆迁

星期日, 2015-06-21 | Author: Lee | JAVA-and-J2EE, 读书 | 一条评论

在原有的系统上抽离出新新的系统,重新设计能避免原来系统的种种问题,事实上哪有那多的重新演化,推倒重来也会遇到各种问题;

逐步迭代,逐步更新更来的实际废话不多了,想在线看书可以移步这里 爱阅读

遇到的问题(要分表分库无规律可循):
1.在线阅读书籍的数量越来越多,章节单表存储遭遇上限(记录几百万查询速度变慢)

2.章节的id是UUID 没有按照书籍信息进行编码拆分,即无法和书籍关联起来

解决方法:
1.设计和书籍绑定id,此问题不存在,直接分表分库
2.既然原来的不能动,那就加中间层,来次中间rehash 重新转换,完全解耦
以前的开发模式和流程完全不变,只需要中间层拆分数据层即可

小结:中间层的增加,直观上直接增加了程序的执行时间,但是可以支持无限扩展模式;

遇到问题解决问题才是王道,让合适的事情在合适的地方去拆解,没有那么多重新设计和开发

在看开源的代码、系统架构和其他别人的系统的时候,多去想想为什么,有时候看似有点多余的设计,也是有实际情况的限制

在软件行业快速发展的今天,貌似我们遇到的问题,90%都已经被别人遇到,没有那么多不可能,多的是自己实力不到

10%的问题的解决方案你能遇到并解决之,岂不快哉,探索的世界永远值得探索,保持对未知事情的兴趣.

centos快速安装redis部署

星期二, 2015-06-16 | Author: Lee | linux, webgame | 没有评论

每次部署环境的时候都要去安装下,写下文章记录下:
官方快速引导地址:http://redis.io/topics/quickstart

这里只是安装单实例版本,默认是6379的端口版本,预留配置文件等做多实例部署

1.安装redis最新的3.0.2版本

$ wget http://download.redis.io/releases/redis-3.0.2.tar.gz
$ tar xvzf redis-3.0.2.tar.gz
$ cd redis-3.0.2
$ make

2.复制执行文件到bin下(或者执行make install),若执行make test 请先yum install tcl

$ cp src/redis-server /usr/local/bin/
$ cp src/redis-cli /usr/local/bin/

› Continue reading

Tags: , , ,

java捕获kill信号来处理程序信息

星期五, 2015-05-29 | Author: Lee | JAVA-and-J2EE, linux | 一条评论

在c中常要控制对应的信号信息,在java中也可以实现简单的信号捕获;
可以作为程序的关闭时候清理数据做参考,
程序如下:
› Continue reading

Tags: ,

双hash减少用户名冲突JAVA版

星期五, 2015-05-08 | Author: Lee | JAVA-and-J2EE, 游戏开发 | 没有评论

游戏中要去校验用户名是否重复,redis中放中文的key貌似蛮怪的吧,还是hash后放数字吧,从而校验是否冲突;

hash冲突 例如“Af”和“BG”哈希值相同,则有“AfAf”,“AfBG”,“BGAf”,“BGBG”的哈希值也相同

具体关于java的Hash冲突攻击 可以参考此文章:http://keary.cn/?p=845

不废话了,实际双hash用途很多,还有就是java中的自带hash会出现负数比如 (-8%3) 就为-2 依赖取模后的值就会出问题;

上代码:
› Continue reading

Tags: ,

PHP中获取当前页面的URL的方法

星期五, 2015-05-01 | Author: Lee | php | 没有评论

脚本语言就是方便,随便写随便更新
要做以前的域名调整要把参数也调用过来,又设计到指定的不能直接转,有点绕了,废话不说了;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
测试网址:     http://localhost/blog/testurl.php?id=359
//获取域名或主机地址 
echo $_SERVER['HTTP_HOST']."<br>"; #localhost

//获取网页地址 
echo $_SERVER['PHP_SELF']."<br>"; #/blog/testurl.php

//获取网址参数 
echo $_SERVER["QUERY_STRING"]."<br>"; #id=359

//获取用户代理 
echo $_SERVER['HTTP_REFERER']."<br>"; 
 
//获取完整的url
echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];
#http://localhost/blog/testurl.php?id=359

//包含端口号的完整url
echo 'http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; 
#http://localhost:80/blog/testurl.php?id=359

//只取路径
$url='http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"]; 
echo dirname($url);
#http://localhost/blog

Tags:

wp升级小计

星期二, 2015-04-28 | Author: Lee | wordpress | 没有评论

风险提示wp4.0的版本有xss的匿名评论的漏洞,要赶快打补丁

就升级了,下载最先的版本,覆盖即可,登录后台点击升级搞定;

记得后台关闭 表情的功能,否则就等着一直load那些我们无法访问的表情图片吧

没有遇到诡异的事情,聊记一下

Tags: ,

Lucene查询速度慢的简单优化

星期一, 2015-04-27 | Author: Lee | JAVA-and-J2EE | 没有评论

算不上比较高深的优化,只是增加了内存就效果明显,表现原因

1.数据量在100W,索引的文件大小90M,算是比较小的了,查询下来需要1000ms
让我很是不解,在本地测试的时候都未出现此情况,只有第一次初始查询出现超过1000ms,
无法接受的速度

2.查看内存使用情况,发现可用内存太少所致,每次都要重新缓存索引,gc内存,(我压榨了阿里云的最大使用率),升级内存,重启OK,速度终于在10ms

3.使用了FSDirectory,使用RAMDirectory效果不明显,而且占用不少内存(实在没有必要)

小结:服务器的性能还没有本地开发机性能好的时候,只有尽快优化了,既要降低cpu的使用率,又不能大量占用内存,真是愁啥人啊

Tags: ,

Rss

Search

文章分类

Meta