最近网站更新的有点频繁,以前这类发布的事情都有运维专人来搞定, 现在什么都自己弄,很多地方就觉得太麻烦了, 就拿这个项目发布来说,每次把项目拉到服务器上,都要修改一下数据库以及其它 一些 如静态目录等properties的配置文件,就觉得很烦,终于在这两天受不了了,决定
1年前发布 14401阅读 评论
昨天配置了一下Dexcoder的404,500等错误页面,但是配置好项目发到服务器之后,不经意间发现session拦截器居然失效了,连后台都可以不用登录就进去了,这绝对是致命bug啊,赶紧排查。 一般我们实现的session拦截器,都是通过ServletPath来判断访问的路径是否需要session,典型
1年前发布 17790阅读 评论
Linux中,crontab的功能是十分强大的,能够方便的调度程序的运行,甚至在很多时候能够替代程序中的定时任务。 它的命令格式和主要参数如下: 命令格式 crontab [-u user] [ -e | -l | -r ] 命令参数 -u user:用来设定某个用户的crontab服务; file:file是命令文件的名字,表
1年前发布 7553阅读 评论
经常写博客的人通常都会使用离线的博客客户端,Windows下最强大且使用率最高的自然当属Windows Live Writer。 到微软官网下载windows软件包,地址:http://windows.microsoft.com/zh-cn/windows-live/essentials 下载下来后点击安装,目前还是2012版: 选择要安装的程序 勾选w
1年前发布 3562阅读 评论
为了书写方便,本博客后台有仿照wordpress协议,开发使用博客客户端软件写作的功能。 以前一直用Windows Live Writer写博客,但是大家知道这玩意目前微软已经不更新了,最新的也就2012版。 况且最近Markdown大为流行,其写作速度也确实大为提高,就想着能不能用Markdown来写博
1年前发布 6368阅读 评论
在本示例中,我们将使用最新的Spring 4 MVC中提供的@RestController,使用最少的代码来构建一个Restful Web Service,支持返回xml或json数据,这个可以让用户选择,通过URL后缀.xml或.json来完成。 使用的组件版本: Spring 4.1.7.RELEASE jackson-core 2.5.4 jackson-databin
1年前发布 46604阅读 评论
Apache poi 版本:3.12 今天在用poi解析excel文件时,碰到一个蛋疼的问题。 在我的excel文件中有一列是日期类型,例如有以下这么一行数据(日期中月份前面的0会自动去掉): 在读取注册日期这个数据时,返回了一串数字,变成了 42149, 断点调试到读取数据的代码,发现poi是正确
1年前发布 27606阅读 评论
因为要弄个开发自用的小工具,涉及到了xml的解析,之前一切都正常。 但是今天在运行的时候发现dom4j总是抛出连接超时的异常: org.dom4j.DocumentException: Connection timed out: connect Nested exception: Connection timed out: connect at org.dom4j.io.SAXReader.read
1年前发布 6436阅读 评论
Memcached现在已被广泛使用,使得它的客户端实现也有较多的版本,基本上各个语言的都有。 我是搞Java的,所以这里就主要讲讲Java的客户端。 Java的客户端目前用的比较广泛比较多的,主要有四个吧,下面分别来讲讲这四个Java客户端。 Memcached的官方客户端,Memcached client
1年前发布 9512阅读 评论
Memcached是一个集中式的单点缓存系统,本身并不具备集群功能,这方面的操作主要是由客户端来完成的。 所以说到Memcached的分布式就一定会提到Memcached的客户端,看下图: 简单的说Memcached的客户端在这里就是做了一个路由的功能,负责把不同的请求转发到对应的Memcached机
1年前发布 7668阅读 评论
到这里memcached的初步使用我们已经没问题了,但是了解一些它内部的机制还是十分必要的,这直接涉及到你能否把memcached给真正“用好”。 Memcached的守护进程机制使用的是Unix下的daemon,Socket则使用了非阻塞(non-blocked)高性能的NIO,事件处理上大家都已经知道了,是基于
1年前发布 20334阅读 评论
前面我们已经安装完了Cygwin,也在cygwing中安装了apt-cyg来管理我们的软件包。 但是在实际使用过程中,只有在我刚安装完apt-cyg后用它来安装软件包是可以的,之后就一直无法安装了,出现MD5 sum did not match, exiting的错误。 奇怪的是我卸载掉之前安装成功的,再重新安装
1年前发布 13676阅读 评论
对于习惯使用linux命令但是因为某些原因又必须留在windows下的人来说,cygwin是一个很不错的折中工具,它可以支持完成一些在linux下的常用操作。 如果还不知道Cygwin的,可以自行百度一下。 首先当然是安装Cygwin,在安装时至少需要把wget组件勾上,因为我们需要用它来下载apt
1年前发布 21760阅读 评论
前面我们简单的介绍了一下Memcached,这里我们再来详细说说Memcached的一些命令。 Memcached的命令总的来说分为三类:存储数据命令、读取数据命令和统计分析命令。 存储数据命令,主要有:set,add,replace,append,prepend,cas;前面已经演示了set的用法,典型的格式如下
1年前发布 6465阅读 评论
Memcached是一个高性能的分布式内存对象缓存系统,是基于存储键/值对的hashmap,由C编写,但客户端可以通过memcached协议使用任何语言来编写。 在我个人看来Memcached是一个纯粹的缓存系统,所有的数据都保存在内存中,没有持久化功能。当内存被释放如重启、操作系统重启时全
1年前发布 5463阅读 评论
因为某些文件需要在Windows下才能看,不得已回到Windows下来逛一圈。 因为系统的不同,某些常识性的蛋疼问题总是不断。比如今天一个Maven的错误就折腾了我不少时间。 在项目中添加了一个依赖的jar包后,发现不管怎么弄就是下载不到依赖的jar,修改Maven配置文件settings.xml添
1年前发布 12468阅读 评论
到这里,功能上我们已经全实现了。 但是有时候我们的项目不是部署在一台机器上的,而是一个集群环境,往往我们的定时任务只需要一台机器执行就够了。 那么我们怎么样来实现这种集群环境下的定时任务运行呢? 前面说的支持幂等性可以在一定程序上解决这个问题,网上有版本使用
1年前发布 38200阅读 评论
之前已经把功能基本都实现了,这里我们再来优化一下代码。 我们发现,在创建、修改、和删除定时任务时,对于quartz的操作其实是可以封装成一个简单的工具辅助类的,如创建的代码可以抽取成: /** * 创建定时任务 * * @param scheduler the scheduler * @param jobName
1年前发布 86400阅读 评论
今天在intellij idea中创建maven的web工程时发现很慢很慢,基本上是卡在那半天没反应,于是试着在命令行创建。 使用如下命令: mvn archetype:create -DgroupId=com.dexcoder -DartifactId=dexcoder-demo -DarchetypeArtifactId=maven-archetype-webapp 却报出如下错误: [ER
1年前发布 12843阅读 评论
注意:本组件已重构并全新发布,更加方便易于使用。代码全部开源,详情访问 Github仓库 或 码云 至此,终于把这个烂尾的系列写完了,心中也不禁舒畅了下,终于可以给那些要源代码的人一个交代了。 接下来把那个定时任务系列也弄完就可以写我想写的博客了! ![spring-jdbc2][]
1年前发布 62209阅读 评论