- 浏览: 94987 次
- 性别:
最新评论
-
xiaotao0511:
博主在吗,按照你的配置方法,我试了一下,在xml里用${}的方 ...
分布式配置文件管理工具disconf部署以及运用 -
spjich:
bitcarter 写道这样的系统是我一直希望做的,不知道现在 ...
实时公交位置系统的实现 -
spjich:
wengyao 写道判断方向,返程回程,是否到点都将会存在误差 ...
实时公交位置系统的实现 -
wengyao:
而且现在广州的行讯通估计就是利用报站实时提交站点信息,可以准确 ...
实时公交位置系统的实现 -
wengyao:
判断方向,返程回程,是否到点都将会存在误差。感觉现在用报站器, ...
实时公交位置系统的实现
文章列表
Watcher部分
这种方式只能监听一次,监听完了需要重新注册watcher
client.getChildren().usingWatcher(new AA2.Watcher()).forPath("/b");
PathChildrenCache 只能监听本层以及第一层子层(监听/b 只能监听到/b/c,不能监听到/b/c/d),且 ...
不少人会有logback.xml里面root与logger关系,他们之间如何继承如何配置才能达到需求的问题,网上归纳的很凌乱,以下是个人总结的几条黄金法则。
root是公共属性,没有logger时会找root里对应level的appender
additivity默认为tru ...
在做业务时经常遇到某些一次性的延迟需求,比如新闻的定时发布,过了一个时间阈值后某个任务的状态置为超时或触发某个接口。
之前实现这种一次性的延迟需求基本会有3种思路。
(1)线程轮询扫库
(2)Timer类
(3)定时框架Quartz
这三种方案都存在各自的问题
对于“线程轮询扫库”,性能开销巨大,实时性差
对于“Timer类”来说,假如项目重启,之前设置的定时就荡然无存
对于“定时框架Quartz”虽然支持DBstore,但是框架太过于重量级。
如何优雅而又高效的实现一个延迟任务呢?前不久看到一篇文章 https://mp.weixin.qq.com/s/eDMV25YqC ...
关于Mybatis一级缓存的介绍 https://yq.aliyun.com/articles/18678 这篇已经介绍的非常详尽了。
但是读完以后我产生了一个疑问,如果在同一个session中2次相同的数据库操作之间,DB里的数据改变了,Mybatis一级缓存如何确保数据一致性,带着以上疑问我做了如下实验:
1.方法级别没有开启@Transactional,Mybatis查询记录如下
测试函数:
在以下函数第四行处会打一个端点,在断点期间,我会手工进行数据库操作
public String getTest() {
List<String&g ...
转自:http://www.blogjava.net/xylz/archive/2010/07/06/325390.html
AQS
AbstractQueuedSynchronizer,简称AQS,是J.U.C最复杂的一个类,导致绝大多数讲解并发原理或者实战的时候都不会提到此类。但是虚心的作者愿意借助自己有限的能力和精力来探讨一二(参考资源中也有一些作者做了部分的分析。)。
首先从理论知识开始,在了解了相关原理后会针对源码进行一些分析,最后加上一些实战来描述。
上面的继承体系中,AbstractQueuedSynchronizer是CountDownLatch/FutureTa ...
项目中一直在使用redis的subscribe功能,偶然会发生订阅断开的问题,一直无法定位,在此之下只能阅读源码定位问题
首先从spring.xml入手观察配置
<bean id="twaListener" class="org.springframework.data.redis.listener.adapter.MessageListenerAdapter">
<property name="delegate" ref="twocAlertListener"/> ...
使用unsion完成机器文件夹容灾备份
- 博客分类:
- 架构相关
安装ocaml
wget http://caml.inria.fr/pub/distrib/ocaml-4.03/ocaml-4.03.0.tar
tar -zvxf ocaml-4.03.0.tar.gz
cd ocaml-4.03.0
./configure
make world opt
make install
安装unison
tar -zxvf unison-2.48.4.tar.gz
cd src
make UISTYLE=text
make install
在执行make install的过程中,可能会出现以下错误提示:
...
原公司业务中有sso系统,我当时完成的角色是接入,现在自己动手写了一个sso
项目地址
https://git.oschina.net/spjich/sso-simple.git
模拟sso跨域,同域登录
同域域名oa.ji.comsso.ji.com
跨域域名oa.comsso.com
加密算法
cookie内容加密-ASE服务器间信息验证-RSA证书
同域流程图
跨域流程图
切换模拟时需要修改的配置
ParamConstOaConstsso-oa工程的spring.xml
disconf之前有搭建过一次但是没有成功,比较纠结它的基于nginx实现动静分离的思想,其实明明可以少一个组件的依赖和配置,或许开发者有其自己的考虑吧。
这次终于搭建完毕并且跑通,下面写几个碰到但是官方文档中没给出的坎。
搭建项目
--就是一个disconf-web
安装依赖软件
安装Mysql(Ver 14.12 Distrib 5.0.45, for unknown-linux-gnu (x86_64) using EditLine wrapper)
安装Tomcat(apache-tomcat-7.0.50)
安装Nginx(nginx/1. ...
承接上一篇
http://spjich.iteye.com/blog/2264025
公交位置判断完成以后,模拟测试会比较麻烦,要模拟公交的动态移动,所以我做了一个模拟工具,模拟公交运动
以下是git地址
https://git.oschina.net/spjich/busMonitor.git
运行环境
java1.7/java1.6
tomcat7
redis可选
运行首页
step1.设置模拟线路
在输入框中输入你要模拟的线路,本程序就会模拟一辆bus在该线路上的移动
step2.查看线路路径
这个功能可以查看到在step1中设置的线路的路径 ...
目前网上介绍ThreadLocal类用法的博文很多,看过后我们基本可以得出以下结论
ThreadLocal的作用和目的:用于实现线程内的数据共享,即对于相同的程序代码,多个模块在同一个线程中运行时要共享一份数据,而在另外线程中运行时又共享另外一份数据。
好了,至此ThreadLocal的概念我们弄清了,它是每个线程的菊部变量(该死的输入法)。但是java有了类的局部变量,这个ThreadLocal是否显得多余,我们为什么或者在什么情况下用这个东西?
先看以下两段代码
代码1.使用ThreadLocal
public class ThreadLocalDemo imple ...
假如你的城市,每台公交车上都装了一个gps,更幸运的是你还可以获得这些gps上报的位置信息,那如何做一款公交位置查询app,或者公交位置监控软件呢?
宏观上: 实时性(每辆车每10秒上报一次位置信息,全市上万量公交 ...
最近在做服务器的高可用性,考虑主从热备初步准备采用keepalive这个工具来完成这个需求,下面主要做了一个keepalive入门实验
测试环境
两台centos
172.171.48.151 主
172.171.48.158 备
keepalive两台机器都要安装
安装前准备工作
keepalive依赖下面几个包
rpm -qa |grep gcc rpm -qa |grep openssl-devel如果没安装的就yum一下
安装keepalive
下载最近的安装包 http://www.keepalived.org/
本人上传到li ...
网上利用java发送http请求的代码很多,一搜一大把,有的利用的是java.net.*下的HttpURLConnection,有的用httpclient,而且发送的代码也分门别类。今天我们主要来说的是利用httpclient发送请求。
httpclient又可分为
httpclient3.x
httpclient4.x到httpclient4.3以下
httpclient4.3以上
不同httpclient版本其请求发送的方式也不一样,下面来做个归纳
httpclient3.x
HttpClient client = new HttpClient();
/ ...
在 (一)androidpn-server tomcat版源码解析之--项目启动这篇中,已经描述了整个推送服务器的启动过程,并且把握到了消息的入口即XmppIoHandler这个类,今天我将继续往下分析下面的核心代码,主要分为3大块,链接创建,消息的发送,链接关闭。
先贴一段XmppIoHandler的部分代码
/**
* Invoked from an I/O processor thread when a new connection has been created.
*/
public void sessionCreated(IoSession ...