原创 Hibernate封裝通用數據操作基類DAO

package com.util; import java.io.Serializable; import java.sql.SQLException; import jav

原创 Quartz學習(七)--Spring整合Quartz(MethodInvokingJobDetailFactoryBean方式)

一、該方式利弊   該方式通過MethodInvokingJobDetailFactoryBean在運行中動態生成,需要配置執行任務的目標類、目標方法。但是這種方法動態生成的JobBean不支持序列號,也就是說Job不能存到持久化。  

原创 Quartz學習(一)--初始Quartz

  一、什麼是Quartz      1、quartz是一個作業調度系統(a job scheduling system),不但可以集成到其他軟件系統中,而且還可以獨立運行。      2、Quartz是OpenSymphony開源組織在

原创 Quartz學習(三)--簡單觸發器(SimpleTrigger)

  SimpleJob.java public class SimpleJob implements Job { @Override public void execute(JobExecutionContext context)

原创 ibatis學習(一)--ibatis介紹以及示例

一、介紹     iBATIS是以SQL爲中心的持久化層框架。能支持懶加載、關聯查詢、繼承等特性。 iBATIS不同於一般的OR映射框架(eg:hibernate)。OR映射框架,將數據庫表、字段等映射到類、屬性,那是一種元數據(meta

原创 深入理解事務--Spring註解式事務配置注意事項

1. 在需要事務管理的地方加@Transactional 註解。 @Transactional 註解可以被應用於接口定義和接口方法、類定義和類的 public 方法上。 2. @Transactional 註解只能應用到 public 可

原创 消息隊列設計精要

 消息隊列已經逐漸成爲企業IT系統內部通信的核心手段。它具有低耦合、可靠投遞、廣播、流量控制、最終一致性等一系列功能,成爲異步RPC的主要手段之一。 當今市面上有很多主流的消息中間件,如老牌的ActiveMQ、RabbitMQ,炙手可熱

原创 Quartz應用與集羣原理分析

一、問題背景 美團CRM系統中每天有大量的後臺任務需要調度執行,如構建索引、統計報表、週期同步數據等等,要求任務調度系統具備高可用性、負載均衡特性,可以管理並監控任務的執行流程,以保證任務的正確執行。 二、歷史方案 美團CRM系統

原创 高可用性系統的實踐與經驗

所謂高可用性指的是系統如何保證比較高的服務可用率,在出現故障時如何應對,包括及時發現、故障轉移、儘快從故障中恢復等等。本文主要以點評的交易系統的演進爲主來描述如何做到高可用,並結合了一些自己的經驗。需要強調的是,高可用性只是一個結果,應

原创 分佈式系統互斥性與冪等性問題的分析與解決

前言 隨着互聯網信息技術的飛速發展,數據量不斷增大,業務邏輯也日趨複雜,對系統的高併發訪問、海量數據處理的場景也越來越多。如何用較低成本實現系統的高可用、易伸縮、可擴展等目標就顯得越發重要。爲了解決這一系列問題,系統架構也在不斷演進。

原创 序列化和反序列化

#摘要 序列化和反序列化幾乎是工程師們每天都要面對的事情,但是要精確掌握這兩個概念並不容易:一方面,它們往往作爲框架的一部分出現而湮沒在框架之中;另一方面,它們會以其他更容易理解的概念出現,例如加密、持久化。然而,序列化和反序列化的選型

原创 深入理解事務--事務ACID特性及隔離級別

簡介       ACID,是指在可靠數據庫管理系統(DBMS)中,事務(transaction)所應該具有的四個特性:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durab

原创 支付渠道網關係統的實踐之路

http://www.tuicool.com/articles/rIbUzyj 業務的快速增長,要求系統在快速迭代的同時,保持很好的擴展性和可用性。其中,交易系統除了滿足上述要求之外,還必須保持數據的強一致性。對系統開發人員而言,這既

原创 MyIbatis學習 (二)--利用Generator插件生成基於數據庫方言的分頁語句

衆所周知,Mybatis本身沒有提供基於數據庫方言的分頁功能,而是基於JDBC的遊標分頁,很容易出現性能問題。網上有很多分頁的解決方案,不外乎是基於Mybatis本機的插件機制,通過攔截Sql做分頁。但是在像Oracle這樣的數據庫上,

原创 紅黑樹深入剖析及Java實現

紅黑樹是平衡二叉查找樹的一種。爲了深入理解紅黑樹,我們需要從二叉查找樹開始講起。 BST 二叉查找樹(Binary Search Tree,簡稱BST)是一棵二叉樹,它的左子節點的值比父節點的值要小,右節點的值要比父節點的值大。它的