原创 osgi3——camel配置restlet

restlet是rest一種輕量級框架實現,彌補servlet的不足之處 下面請看blueprint.xml配置 <?xml version="1.0" encoding="UTF-8"?> <blueprint xmlns="http

原创 osgi4——啓動一個servlet

osgi是不適合做web開發,非常的牽強,目前還沒有找到合適的辦法。如果要做web開發,我們會用blueprint去啓動一個servlet,然後通過瀏覽器去訪問這個servlet。 <?xml version="1.0" encodin

原创 try、catch、finally

public class test { public static void main(String[] args) { System.out.println(finall("1")); System.out.p

原创 關於shiro session失效報錯問題

最近做了一個項目,要用到shiro,做完之後發現有個異常經常發生org.apache.shiro.session.UnknownSessionException: There is no session with id ,經過多天的研究,

原创 osgi1——camel與cxf發佈webservice

經過三個月的osgi學習,今天打算總結一下osgi與blueprint結合,並且使用camel、cxf等框架去做ESB. camel是apache下面一個非常著名的框架,定義了一套路由規則,他的根本原理就是,一端進來——處理——另外一端出

原创 ECHart顯示杭州區域熱力圖

後臺所用技術springmvc+ibatis 實現效果 代碼實現如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name=

原创 Spring boot 動態加載和部署導入的spring程序

import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.config.BeanDef

原创 jvm類加載

導火索 在ide下創建了一個工程,寫了一個main1方法,main1方法裏面的類去調用maven導入a.jar,啓動運行的時候報ClassNotFoundException,一開始還以爲a.jar需要依賴其它類,沒有導入進來,最後

原创 微服務驅動模型

微服務驅動模型 請求驅動 事件驅動 時間驅動 數據流驅動 請求驅動 最常見的request<->response驅動模型,一般由用戶請求主動觸發,推動程序往下執行,用於大部分web後臺。 實現框架有多種:servlet sp

原创 高併發容器--CopyOnWrite

—–CopyOnWrite容器即寫時複製的容器。通俗的講就是往容器裏面寫數據的時候,不再當前容器寫數據,而是將當前的容器拷貝一份,往拷貝新的容器裏面寫數據,添加完元素後,再將原容器指向新的容器。這樣做的好處就是,併發讀的時候不需要加鎖,因

原创 osgi9——camel動態路由

1.camel路由uri都是靜態的,一般容器啓動的時候,它會去預執行。但是有些時候需要動態的去執行一些uri,好比mq,mq有exchange和queue,這兩項有些時候是動態的辦法,用普通的配置是不行的,所以我們解決的時候就需要動態路由

原创 osgi8——camel activitimq

1. 有些時候需要用到異步處理,camel無需等待to執行完成,我們可以用事件 的方式去處理這種異步問題。 2.看blueprint.xml的配置 <?xml version="1.0" encoding="UTF-8"?> <blue

原创 重入鎖 ReentrantReadWriteLock

1.lock方法-獲取鎖,默認情況是不公平的鎖,如果其它線程佔用鎖的話,會等待,當線程較少的時候性能不及synchronized, 當線程較多的時候,性能較爲優秀,其底層用了AQS實現。 2.unlock方法是釋放鎖,必須要在代碼fi

原创 spring-boot 深入學習

--在使用spring-boot的時候踩過太多的坑,很多都是因爲不懂spring真正的原理造成的,所以寫下這麼篇文章,希望這篇文章能夠幫助大家理解spring真正原理少走彎路 一:啓動原理 --每個程序都有一個主入口,也就是main方

原创 延遲隊列DelayQueue

DelayQueue主要用於放置實現了Delay接口的對象,其中的對象只能在其時刻到期時才能從隊列中取走。這種隊列是有序的,即隊頭的延遲到期時間最短。如果沒有任何延遲到期,那麼久不會有任何頭元素,並且poll()將返回null(正因爲這樣