原创 Apache Thrift之java入門

一、開發環境(清單1) 1.操作系統     Server-Linux / Client-WinXP 2.SDK     Sun JDK1.5+ 3.需要的jar依賴包     libthrift.jar     slf4j-api

原创 Apache Thrift簡介,與其它RPC對比

Thrift  是什麼?   Thrift源於大名鼎鼎的facebook之手,在2007年facebook提交Apache基金會將Thrift作爲一個開源項目,對於當時的facebook來說創造thrift是爲了解決facebook系

原创 Spring jms 和 ActiveMQ 開發消息服務

ActiveMQ 是高性能消息中間件,主要針對JMS實現,當然其他語言也可以使用。其支持點對點、發佈/訂閱、推拉模式,具體看官網,這裏略。 1、先下載ActiveMQ,併成功啓動服務。 2、建立maven項目,添加依賴 activemq

原创 spring mvc 輸出 json 異常日誌、異常國際化處理

異常日誌   上面一篇寫了異常處理,直接拋出,都交給ExceptionResolver去處理,那麼我們怎麼記錄日誌呢? 因爲異常直接拋出,使用攔截器即可。     異常國際化 我們可以設計一個異常類,異常類需要可以設置errorCode,

原创 ActiveMQ使用經驗與優化

1.1 不要頻繁的建立和關閉連接 JMS使用長連接方式,一個程序,只要和JMS服務器保持一個連接就可以了,不要頻繁的建立和關閉連接。頻繁的建立和關閉連接,對程序的性能影響還是很大的。這一點和jdbc還是不太一樣的。 1.2 Connect

原创 ActiveMQ消息遊標

  在Activemq以前的版本中,broker會把待發送的消息保存在內存中。這種方式的缺陷是當消費者消費的速度趕不上生產者的速度時,會在broker的內存中積攢大量的消息,當達到一個限額後,broker就不再接收消息。這時生產者就被阻塞

原创 spring mvc 輸出 json

對於web應用,少不了Ajax請求,因此少不了JSON輸出支持,在spring-mvc中實現這點非常簡單、如下: ------------------------------------------spring-mvc配置-------

原创 Apache Thrift - java開發詳解

1、添加依賴 jar <dependency> <groupId>org.apache.thrift</groupId> <artifactId>libthrift</artifactId> <version>0.8.0</

原创 Spring使用Velocity發送Email

<!-- velocity配置 --> <bean id="mailVelocityEngine" class="org.springframework.ui.velocity.VelocityEngineFactoryBean">

原创 一個簡單的java對象序列化工具類

/** * serialized or compressed data. * * @author dongjian */ @SuppressWarnings("unchecked") public final class Tra

原创 Activiti5 開發介紹1

Activiti5是一款基於java的輕量級工作流引擎。支持BPMN2.0,其依賴的jar非常少,只依賴mybatis。上手迅速,功能豐富,對於一般的工作流應用都可以滿足,廢話少說,進入正題。   一、搭建開發環境 1、安裝jdk5+ 2

原创 spring mvc 輸出 json 異常處理

上一篇寫了JSON支持,請求成功時,AnnotationMethodHandlerAdapter使用messageConverters將方法返回值輸出到客戶端。 如果請求失敗呢?根本就沒有返回值,怎麼輸出? 這種情況,這需要使用sp

原创 Mybatis 批處理

有的時候,我們需要一次性插入很多的數據或者一次性更新、刪除很多的數據,那麼爲了提高效率,我們需要使用批處理來完成。以下將討論Mybatis+Spring如何使用批處理。 首先應該知道Mybatis是Ibatis的升級版,比Ibatis性

原创 OutOfMemoryError: PermGen space,解決辦法

分析原因:java內存大體分爲年輕代、年老代、永久代,PermGen space即是永久代,其中年輕代存放生命期較短的對象實例,GC頻率高,年老代存放生命期較長的對象實例,GC頻低,永久代存放元數據信息(如類的字節碼),理論上無GC。 測

原创 CXF實現WebService動態調用。

JaxWsDynamicClientFactory factory = JaxWsDynamicClientFactory.newInstance(); Client client = factory.createClient(wsdlU