Quartz初体验
Quartz是一个开源作业调度框架。 看了一下官方的例子,一些简单的任务执行非常方便,和使用linux里的contab有点类似。 大致就是在你的Job接口实现类里面,添加一些逻辑到execute()方法。一旦你配置好Job实现类并设定好调度时间表, quartz就会去准备执行。 直接看代码吧 先解决依赖,它需要的依赖比较少。 ```xml <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.1</version> </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz-jobs</artifactId> <version>2.2.1</version> </dependency> ``` 下面是主要代码: ```java public class App {...

2016-07-31 02:46

类型:随笔 标签:quartz,java

tomcat启动慢的原因分析
Tomcat严重依赖SecureRandom这个类为它的session id或其它地方取得随机数值,这取决于你的JRE。 它有可能在tomcat启动时造成非常大的耗时,比如,在启动tomcat的时候,它耗时有时候会达到3分钟。 INFO: Creation of SecureRandom instance for session ID generation using \[SHA1PRNG\] took \[XXXXXXX\] milliseconds 要解决这个问题,可以通过配置JRE使用非阻塞的Entropy Source,在bin/catalina.sh中加入这么一行:-Djava.scurity.egd=file:/dev/./urandom。 或者通过修改jre来解决这个阻塞的问题: 打开$JAVA_PATH/jre/lib/security/java.security这个文件,找到下面的内容: securerandom.source=file:/dev/random 替换成 securerandom.source=file:/dev/urandom 问题的核心...

2016-06-29 12:41

类型:随笔 标签:tomcat,linux,java

zookeeper的初体验
很多技术文章或者活动喜欢扯大数据,一言不合就说什么鬼东西是大数据,大数据分析,大数据。。。听的耳朵都磨出茧子来了,有时候谈到大数据就会想到分布式部署进行数据分析,组成一个集群,或者若干个集群,其中不管是那些扯淡的大数据也好,都或多或少会用到zookeeper或者类似的做基础,也就是大厦的地基。 废话不多少,先写点我自己了解的基础的知识和zookeeper的一些基本原理,后面再上代码实践一番zookeeper的特性。 **zookeeper是什么鬼** zookeeper是一个分布式的,开放源码的分布式应用程序协调服务。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。 详情:[https://zookeeper.apache.org](https://zookeeper.apache.org) [http://www.yuorfei.com/article?id=27](http://www.yuorfei.com/article?id=27) **zookeeper的特点** Zookeeper通过一种和文件系统很像的层级命名空间来让分...

2016-05-30 14:51

类型:日常 标签:zookeeper

使用lucene进行group操作
近来用lucene进行查询,需要对结果进行group操作,结果发现核心包里面没有提供这个功能。 如果在内存里面对结果再自己用代码实现的话效率太低。查询了一番文档,发现了lucene-grouping。 jar包位置: ``` <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-grouping</artifactId> <version>4.0.0</version> </dependency> ``` 使用这个包可以实现对搜索结果进行group操作 首先建立索引 ``` private Document createDocument(String id, String tag_value, String score,String city,String time, String from,String type,String typeId, ...

2016-04-23 23:38

类型:日常 标签:lucene,group,java

利用docker部署eclipse-che
在github上拉取下来的eclipse-che用maven部署发现自己系统的maven版本有问题,不想去折腾maven这玩意儿。 瞬间想到了现在比较火的docker容器技术,利用docker来部署eclipse-che非常靠谱。 首先我的系统的ubuntu14,系统内核版本到了3.16了,足以,我记得docker需要内核版本3.8以上。 增加一个gpg的key ``` sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D ``` 打开 /etc/apt/sources.list.d/docker.list 没有的话直接编辑保存,但是记得往里面写入这么一段: ``` deb https://apt.dockerproject.org/repo ubuntu-trusty main ``` 上面这一段是ubuntu14的,15和别的各不一样 ubuntu15.04是这样的: ``` deb...

2016-03-20 13:38

类型:日常 标签:docker,eclipse-che

我与我周旋久 独孤影 开源实验室