`
xiaoliang330
  • 浏览: 111936 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论
文章列表
背景: 目前基于连接了mobile库 从库的 项目(spring+mybatis), 需要将从库配置调整为多个直连数据源,  即 配置多个从库的需要 下面以配置两个mobile从库数据源为例,进行配置示例: 数据源配置文件appContext-jdbc.xml <!-- mobile 从库 --> <bean id="mobileReadDataSource0" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close&qu ...
在某个文件中右键,git bash here 1. git svn clone svnUrl 本地文件名 2. cd 项目目录 3. git remote add origin git项目地址 4. git push -u origin master git项目地址需要事先创建好,如果只需要迁移trunk,svnUrl需要到trunk目录

http简易工具类

    博客分类:
  • web
http简易工具类, 方便http调用
这边文章将偏实战, 至于motan,可以去了解如何实现、比普通的http请求的优越之处等 这里贴出应用motan的代码 Client端 ClassPathXmlApplicationContext ctx= new ClassPathXmlApplicationContext("classpath:motan_client.xml"); NaturalRankingService naturalRankingService = ctx.getBean(NaturalRankingService.class); NaturalResponse ...
public static String readContent(String filename) throws IOException { FileChannel fc = null; try { fc = new RandomAccessFile(filename, "r").getChannel(); MappedByteBuffer byteBuffer = fc.map(MapMode.READ_ONLY, 0, fc.size()).load(); byte[] result = new byte[(int) fc.s ...
详见文件, 有具体参数优化测试
微信卡券的使用,是在之前的微信jsapi基础上,再加上一次卡券的单独验签, 这里对上篇微信JSSDK的使用稍作修改: 1. 微信的accessToken的获取有时间限制,之前是将token的读取放在一个单独的服务上, 单控 2.基于开个别的服务比较繁琐,现在使用redis缓存,来控制访问频率,至于并发,由锁来控制 代码如下: package com.mazing.commons.wx; import java.util.HashMap; import java.util.Map; import org.apache.commons.lang3.StringUtil ...

微信JSSDK 使用

获取微信JSAPI_TICKET package com.mazing.wx; import com.fasterxml.jackson.core.type.TypeReference; import com.mazing.CommonConstants; import com.mazing.commons.utils.HttpClientUtils; import com.mazing.commons.utils.JsonUtils; import com.mazing.commons.utils.cfg.DesPropertiesEncoder; import com. ...
用main的形式在服务器上启动了一个netty服务,有端口有地址,可请求 package com.mazing.wx; import java.io.IOException; import java.io.InputStream; import org.apache.logging.log4j.core.config.ConfigurationSource; import org.apache.logging.log4j.core.config.Configurator; import org.slf4j.Logger; import org.slf4j.Logger ...
根据目前使用的极光推送, 设计一个合理的服务端,而且满足一切需求的数据结构很重要,其实也很简单 可能会有的需求: 推送消息给已注册用户、推送消息给所有用户、推送消息给匿名用户 这样的一个需求下,我们需要在app启动时,即保存用户设备did,不管有没有登录 上传机制: 用户设备did 上传的时机很重要 1. app启动时上传 2. 用户登录/切换登录时上传 数据结构如下: CREATE TABLE `mz_android_profile` ( `pid` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id, 自增长', ...
/** * 随机字符串集 */ private static final String CHARACTORS = "efghxxxx"; /** * 随机长度范围 6表示0~6 */ private static final int RANDOM_LENGTH = 6; /** * 深度加密 * * <br> * * * @param plain 明文,待加密串 * @param salt 盐 ...
场景: 如 抢红包、 抢优惠券,都是先到先得 抢红包是把发出来的红包先分成预设的份数,预先处理好了每个红包的金额大小,然后 将分配好的红包装进一个队列当中,等待哄抢(并发的可能) 抢优惠券也是预先生成了若干的优惠券,然后将所有生成的优惠券码放进一个队列当中,等待领取(并发的可能) 现用redis集合操作实现队列的控制 首先实现一个资源的可访问次数接口: /** * 是否可以继续访问某一资源(时间second内只能访问visitTotal次 资源) * * @param visitTotal 访问次数限制 * @param second 时间周期 ...

并发队列

import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class ConcurrentQueue { // 一个基于链接节点的无界线程安全队列。此队列按照 FIFO(先进先出)原则对元素进行排序。 // 队列的头部 是队列中时间最长的元素。队列的尾部 ...
因为用memcached集群缓存数据,所以增删服务器节点 对缓存key的影响需要考虑一种策略来实现 数据缓存key所映射的节点变动至最小值(这句话好长啊,就是缓存服务器的增减,对在已经缓存了的数据影响降到最小,比如“test”这个数据之前存在a1节点服务器上,那么增加删除了服务器节点,‘test’依然在 a1上(有可能不在,这个原因可以看以下代码),用10个数据来说明吧,感觉有点只可意会不可言传,10个数据,在节点变化时,尽量只有2个数据发生变动,ok) 下面代码示例: package com.xll; //服务器对象 public class Server { pri ...

velocity

    博客分类:
  • xml
package com.g3net.templeteEngine; import java.util.ArrayList; import java.util.List; import org.apache.log4j.Logger; import org.apache.velocity.Template; import org.apache.velocity.app.Velocity; import org.apache.velocity.runtime.resource.loader.StringResourceLoader; import org.apach ...
Global site tag (gtag.js) - Google Analytics