`
文章列表

redisson配置

/** * redisson cache manager */ @Configuration @ComponentScan @EnableCaching public class RedissonConfig { @Bean(destroyMethod="shutdown") public RedissonClient redisson(@Value("classpath:/redisson-server.json") Resource configFile) throws IOException { Confi ...
【转自】http://www.apkbus.com/blog-725636-61364.html 写博客不易,珍惜笔者劳动成果,转载请标明原创作者地址 http://www.apkbus.com/blog-725636-61364.html?_dsign=d1a2c39f 今天无意中再安卓巴士上看到了一片文章《Android开发者应该使用FlatBuffers替 ...
转自 http://www.cnblogs.com/LBSer/p/4715395.html   前阵子从支付宝转账1万块钱到余额宝,这是日常生活的一件普通小事,但作为互联网研发人员的职业病,我就思考支付宝扣除1万之后,如果系统挂掉怎么办,这时余额宝账户并没有 ...
转自 http://blog.csdn.net/fuck__you_/article/details/51527634   1、系统A(扣减托盘)【消息生产者】 2、系统B(扣减押金)【消息消费者】 业务描述: 两套系统,A中扣减托盘,B中对应的要扣减押金;A中托盘归还,B中押金返还   利用消息队列来解决分布式事务过程: 发送方【生产者】:(不关心接收方状态,只需要确定本地OK,消息推送即可) 1、发送的消息首先需要入库(1⃣表结构:【消息ID,内容,相关事务的ID】) 2、执行本地逻辑操作并commit,发送消息(增加延迟处理,超时未发送成功的—>入库(新的异常消 ...
转自  http://blog.csdn.net/kongqz/article/details/8912000   1、我们为什么需要可靠消息?或者希望消息带有事务? (1)、我们的某些业务场景希望消息的发送消息和数据库操作是绑定到一起的-》-需要事务性消息 (2)、我们某些业 ...
import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.Scanner; import java.util.concurrent.BlockingQueue; import java.util.concurrent.LinkedBlockingQueue; /** * * 阻塞队列LinkedBlockingQueue和ArrayBlockingQueue的使用 * */ public class BlockingQ ...
public class ActiveMQTxMessageProducer extends AbsActiveMQTxMessageProducer { private QMessageService qMessageService; public QMessageService getqMessageService() { return qMessageService; } public void setqMessageService(QMessageService qMessageService) { ...
// 接口 public interface MessageCallback{ /** * 消息处理成功后的处理 */ void onSuccess(String messageId); /** * 消息处理失败后的处理 */ void onFail(Exception e, String messageId); } // 抽象类 public abstract class AbsActiveMQMessageProducer implements MessageCallback{ public void send ...

HashMap缓存随笔

public class MyCache{ private static final Logger log = LoggerFactory.getLogger(MyCache.class); private Map<String, Object> cacheDB; public MyCache(){ cacheDB = new ConcurrentHashMap<String, Object>(); } /** * 设置缓存 */ public boolean set(String key, Object ...

md5 加密

import org.apache.commons.codec.digest.DigestUtils; DigestUtils.md5Hex(SignParameterUtils.createSignText(param) + Constant.NEW_ZHIBO_MD5_KEY)
public class MessageHolder{ private static ThreadLocal<List<String>> messageHolder = new ThreadLocal<List<String>>(){ protected List<String> initValue(){ return new ArrayList<String>(); } }; /** * 获取数据 */ public static List<String& ...
【转】http://blog.csdn.net/maclaren001/article/details/37039749
【转】https://my.oschina.net/jielucky/blog/167198       CopyOnWriteArrayList是ArrayList 的一个线程安全的变体,其中所有可变操作(add、set等等)都是通过对底层数组进行一次新的复制来实现的。      这一般需要很大的开销,但是当遍历操作的数量大大超过可变操作的数量时,这种方法可能比其他替代方法更有效。在不能或不想进行同步遍历,但又需要从并发线程中排除冲突时,它也很有用。“快照”风格的迭代器方法在创建迭代器时使用了对数组状态的引用。此数组在迭代器的生存期内不会更改,因此不可能发生冲突,并且迭代器保证不会抛出 ...
只要活动的事务的状态发生了变化就会收到TransactionSynchronizationManager的回调。   spring 中如何在一个有事务的方法中,等事务提交后调另外一个方法可以用TransactionSynchronizationAdapter 这个类   public abstract class TransactionSynchronizationAdapter implements TransactionSynchronization, Ordered { public int getOrder() { return Ordered.LOWEST_P ...
@Autowired与@Resource都可以用来装配bean. 默认情况下必须要求依赖对象必须存在,如果要允许null 值,可以设置它的required属性为false,如:@Autowired(required=false) ,如果我们想使用名称装配可以结合@Qualifier注解进行使用,如下:  Java代码   @Autowired() @Qualifier("baseDao")      private BaseDao baseDao;      3、@Resource(这个注解属于J2EE的),默认安照名称进行装配,名称可以通 ...
Global site tag (gtag.js) - Google Analytics