基於Spring打造簡單高效通用的非同步任務處理系統

背景隨著應用系統功能的不斷新增,而某些功能的實現對即時性要求並不是那麼高,但是邏輯卻很複雜、執行比較耗時,比如涉及外部系統調用、多資料來源等等;此時,我們就希望可以讓這些複雜的商務邏輯放在後台執行,而前台與使用者的互動可以不用等待,從而提高使用者體驗;另外,從系統架構這個層面來說,我們也希望按照不同功能來拆分,以保持各個系統之間的低耦合,當一個系統出現問題時不會影響到其他系統,並且對於獨立的各個系統,我們可以專門進行效能最佳化、監控等;所以我們需要通用、高效的非同步任務處理系統;設計目標打造輕量

在tomcat環境下的中文亂碼問題

   以前都是用公司現成的架構開發一些項目,但最近自己利用Struts+Spring+hibernate開發項目的時候才發現自己會的技術太少了,真是問題多多啊,革命尚未成功,同志還需努力。。。。   剛開始的時候,將JSP頁面利用<%@page

站在巨人的肩膀上 — 書籍推薦

隨著這個世界越來越依賴我們的實踐,作為電腦行業的從業人員,對電腦行業的 science實在有必要給與應有的尊重。行動的第一步,就是閱讀一些經典的著作,掌握前人/前輩/行業大家們總結出來的知識和行之有效實踐,在日常實踐中使用這些知識和實踐,成為一個更好的開發人員。他將這些著作分成五大類:基本讀物(Foundational Texts)(每個開發人員都應該讀的,沒有例外,不管什麼經驗或平台。這些讀物注重討論如何編寫更好,可維護的代碼,向堅實的物件導向設計過渡)Code Complete, 2nd

RMI vs Socket 比較

RMI技術比較socket的網路編程主要有以下幾個方面:    第一、.RMI是物件導向的,而後者不是。    第二、.RMI是與語言相綁定的。比如當你使用JavaRMI技術的時候,用戶端與伺服器端都必須使用Java開發。而socket的網路編程是使用獨立於開發語言的,甚至獨立於平台。基於socket的網路編程,用戶端與伺服器端可以使用不同開發語言和不同的平台。    第三、從網路通訊協定棧的觀點來看,RMI與socket的網路編程處於不同層次上。基於socket的網路編程位於TCP協議之上,而

請謹慎使用多線程

   多線程切換開銷帶來的多線程程式的低效性,這促使我們認真地思考一個問題:我們是否需要多線程?何時需要多線程?   多線程的核心在於多個代碼塊並發執行,本質特點在於各代碼塊之間的代碼是亂序執行的。我們的程式是否需要多線程,就是要看這是否也是它的內在特點。   假如我們的程式根本不要求多個代碼塊並發執行,那自然不需要使用多線程;假如我們的程式雖然要求多個代碼塊並發執行,但是卻不要求亂序,則我們完全可以用一個迴圈來簡單高效地實現,也不需要使用多線程;只有當它完全符合多線程的特點時,多線程機制對線程

初探SOA(補充)

   SOA是一種應用程式框架,它著眼於日常的業務應用,並將它們劃分為單獨的業務功能和流程,即所謂的服務。它使使用者可以構建、部署和整合這些服務,且無需依賴應用程式及其運行計算平台,從而提高商務程序的靈活性。這種業務靈活性可使企業加快發展速度,降低總體擁有成本,改善對及時、準確資訊的訪問。SOA有助於實現更多的資產重用、更輕鬆的管理和更快的開發與部署,在當今的業務環境中,變化是毫無疑問的,因此快速響應客戶需求、市場機遇和外部威脅的敏捷性,輕鬆應對企業商務服務變化、發展的需要比以往任何時候都更顯重

Apache Commons工具集簡介

      

通過.htaccess檔案檢測不良蜘蛛

一周前,筆者分享過一篇文章《seo診斷:透過Log日誌找到網站死結》,並在最後附上了兩條改善建議。由於客觀條件所限,最後採用robots 屏蔽的方法。先一起來看看一周后的蜘蛛變化,三大主流蜘蛛總抓取量銳減,證明robots檔案開始生效。從圖上的訪問次數、總停留時間和總抓取量看,有所進步但路還很遠。                  然而,從11號開始,網站LOG日誌開始出現眾多中文非主流蜘蛛訪問,其中不乏知名俄羅斯搜尋引擎蜘蛛Yandexbot,還有不明“飛行物”AhrefsBot &

《代碼大全》讀書筆記

P7把主要精力集中於構建活動,可以大大提高程式員的生產率。在最近的一個項目中,對於這一點,我是深有體會。我們花了很長的時間做設計,結果接下來的許多工作都在愉快的心情下完成。我覺得P28的那個食物鏈的例子更有說服力,健康的生態環境中,海鷗吃新鮮的鮭魚,鮭魚吃新鮮的青魚,青魚吃新鮮的水蝽。這是一條健康的食物鏈。如果環境被汙染了,水蝽在汙染的水域遊泳,那麼海鷗,食物鏈的最後一環吃下的不僅僅是是不健康的鮭魚體內的垃圾,還有青魚,水蝽體內的汙染物。軟體開發中,架構師吃掉需求,設計師吃掉架構,程式員,軟體食

《POJOS in Action》讀書筆記

前言:好久沒有系統性的看過書了,早就聽說《POJOsinAction》是本好書,可惜自己一直不能靜下心來學習,此次在部落格上記錄我的學習筆記原因有兩點,第一是想通過部落格來監督我把這本書讀完,其二是覺得自己總是在互連網上“剽竊”人家的學習成果,而自己從來都沒有為大家貢獻自己的成果,實在是有點內疚,希望我的學習筆記對大家有所協助。系統設計時需要考慮的五大因素:1、如何組織商務邏輯2、如何封裝商務邏輯,以及暴露給展示層及其他客戶程式調用的介面3、如何訪問資料庫4、如何處理短事務中的並發5、如何處理長

Hibernate的主鍵產生器使用總結

 Hibernate主鍵產生器的可選項說明:1)Assigned      主鍵由外部程式負責產生,無需Hibernate參與。2) hilo      通過hi/lo演算法實現的主鍵產生機制,需要額外的資料庫表儲存主鍵產生曆史狀態。3) seqhilo      與hilo類似,通過hi/lo演算法實現的主鍵產生機制,只是主鍵曆史狀態儲存在Sequence中,適用於支援Sequence的資料庫,如Oracle。4)

Junit實現spring的單元測試

 spring提供的單元測試是強大的,spring的單元測試很簡單,封裝的很好。我們要用spring的單元測試測試我們寫的add,delete等方法時候需要spring提供的一個額外包spring-mock.jar,我已經傳上來了。你只要熟悉單元測試,編寫一個測試案例,然後把繼承改為org.springframework.test.AbstractTransactionalDataSourceSpringContextTests就可以了,此時編譯器會提示你要實現public String[] g

catch、finally中同時有return語句時的執行順序

相關讀書筆記、心得文章列表       很多人搞不清楚catch和finally執行順序,有人會說,當然是先catch後finally,沒錯,是的這樣的,但當catch和finally中都有return語句的時候,他們的執行順序又該是怎麼樣的呢?在這樣的情況下我們可以這樣理解,catch會把它return的對象先儲存在一個棧中,如果finally中也有return語句,就將該對象入棧,當finally語句執行完畢之後,就取棧頂的對象返回,可以來看幾個點單的例子:public int test1(

中文化和國際化問題權威解析之七:JS中的escape、encodeURI、encodeURIComponent解惑

前面一篇文檔《中文化和國際化問題權威解析之五:URL編碼/Misc》主要是從服務端、瀏覽器兩個角度來看待URL編碼;除此之外,我們還可能在用戶端執行一些js指令碼來進行URL編碼,與此相關的最主要的三個js function為:escape():採用ISO Latin字元集對指定的字串進行編碼。所有的空格符、標點符號、特殊字元以及其他非ASCII字元都將被轉化成%xx格式的字元編碼(xx等於該字元在字元集表裡面的編碼的16進位數字)。比如,空格符對應的編碼是%20。unescape方法與此相反。

String對象詳解

   1.首先String不屬於8種基礎資料型別 (Elementary Data Type),String是一個對象。  因為對象的預設值是null,所以String的預設值也是null;但它又是一種特殊的對象,有其它對象沒有的一些特性。  2. new String()和newString(“”)都是申明一個新的Null 字元串,是空串不是null;  3. String str=”kvill”;  String str=new String

25種下拉式導覽功能表

相關讀書筆記、心得文章列表25 Scripts for Dropdown Navigation MenusNavigation menus are important to any website. Well designed navigation can improve the look and appearance of a site as well as the usability. For larger sites with a lot of content or pages,

列印系列 —— web頁面直接列印

web頁面列印:   簡單的網頁列印可以直接使用window.print()方法實現,但此功能比較弱,涉及比較複雜的列印時,可以利用JS實現的列印功能,直接調用JS相應的介面,可以很容易的實現預覽列印、列印設定等功能。一個完整的JSP代碼如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><TITLE> New Document </TIT

網頁上嵌入播放器

        這個看似高深的東東,其實很簡單,只要在HTML上添加以上代碼就OK了,前提是你的電腦上已經安裝了播放器,如RealPlay。<embed src="F:/mp3/10.19/白色戀人.mp3(音樂的地址)" width="480" height="100"       loop="false" autostart="false"></embed>   

列印系列 —— web頁面匯出成word文檔

將所傳的DIV或者table輸出(拷貝)到word文檔。代碼如下:<HTML>   <HEAD>     <title>     </title>   </HEAD> <body> <form id="form"> <table id = "PrintA" width="100%" border="1" cellspacing="0" cellpadding="0" > <TR style="t

IE環境下的安全警告匯總

可能大家都對IE環境下訪問HTTPS網站的一些安全警告有過接觸,比如HTTP和HTTPS之間的互相跳轉會彈出警告……;但是這並不是全部,IE環境下訪問HTTPS網站還有很多類型的安全警告,下面將一一道來;以後如果大家遇到此類提醒也可以知道是怎麼回事,對解決一些使用者的疑問也會有所協助;第1類:進入或離開安全頁面         這裡說的安全頁面就是通過HTTPS進行訪問的頁面;這類型的警告是最常見的;         該類型的警告可以被關閉,勾選《以後不再顯示該警告》即可,對應於

總頁數: 61357 1 .... 24287 24288 24289 24290 24291 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.