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
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
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
使用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
利用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