與mule 2.0抵死纏綿了兩周,喜憂摻半。但只在2.0之後,mule才算真正站到了esb的起跑線上。完整的筆記見我的wiki:
, 這裡主要列一下實際的公升級感受。
<
connector
name
="systemstreamconnector"
classname
="org.mule.providers.stream.systemstreamconnector"
>
<
properties
>
<
property
name
="promptmessage"
value
="pleaseentersomething:"
/>
<
property
name
="messagedelaytime"
value
="1000"
/>
properties
>
connector
>
改為transport特定的namespace後,ide中清晰顯示了可選的配置項。
<
stdio:connector
name
="systemstreamconnector"
promptmessage
="pleaseentersomething:"
messagedelaytime
="1000"
/>
<
pooled-component
>
<
spring-object
bean
="myspringpojo"
/>
<
binding
inte***ce
="org.mule.example.loanbroker.credit.creditagencyservice"
>
<
outbound-endpoint
ref="creditagency"
/>
binding
>
<
pooling-profile
exhaustedaction
="when_exhausted_fail"
initialisationpolicy
="initialise_all"
maxactive
="1"
maxidle
="2"
maxwait
="3"
/>
pooled-component
>
上文按pooling-profile定義的pooled-component,在spring中定義myspringpojo,並將乙個遠端的cxf endpoint binding到pojo的creditagencyservice變數中,可直接呼叫;
web service支援增強隨著cxf作者的加入,web service這事實上soa裡最重要的transport得到了加強,wsdl終於可以通過annotation準確配置。 雖然無奈,就衝這個理由就應該公升級到2.0了。不是2.0太好,而是1.4太差了。rest支援增強mule restpack
,支援apache abdera(atom publish協議實現),jersey(jsr131 restful webservice實現)和restlet 三種transport。
**結構的合理化抽象出相對穩定的org.mule.api界麵包,代替原來的org.mule.umo包。 開發團隊還檢查調整了mule中所有物件的定義,使其更加準確。
各個模組的公升級如核心mulemanager大物件拆成mulecontext and registry,執行時reistry支援動態載入service,支援向osgi進軍; 如以流的方式轉換處理訊息。 如seda模型定義的細化,見後。
工具增強mule galaxy
soa治理工具(開源), mule saturn
訊息流監控工具,mule hq
底層監控工具。 不過還沒試用不知道實際效果如何。
效能下降無論是代替xfire的cxf還是mule 2.0,都拖得效能大大下降。 用乙個簡單例子測試,mule 1.4+xfire : mule 1.4 + cxf : mule 2.0 + cxf 的每秒事務數對比是15000:10000:8000。
仍然沒有自帶的集群
,負載均衡,流量控制實現。不像bea、servicemix都使用jms的底層,mule使用vm queue在單一jvm的節點間流動。 我們團隊主要用terracotta 在集群裡同步狀態資料,流量控制與負載均衡也是自己實現。
cxf transport 仍然使用mule自己實現的http connector。cxf standlone也是用jetty的,看tomcat們努力的勁頭,相信誰都能隨便實現乙個不錯的http connector。
從1.4公升到2.0非常的花時間。估計團隊重構的太興奮了,從**到配置檔案再到xfire to cxf,一些**級修改還沒文件詳述。
文件從1.4版更新到2.0版的進度太慢,而且文件仍然簡略。質量仍然需要在使用中檢驗。文件說2.0版本的比1.x版本增加了30%的單元測試用例,按理來說專案質量應該提高了。 但還是被我發現了在很重要的abstractentrypointresolver類裡,居然有記憶體洩漏,原因是用沒有過載object的equals()函式的stringbuffer作為hashmap的key,結果map永遠都在增大。 這說明了,開源專案的質量,最終是靠乙個積極使用和反饋的使用者群和乙個活躍的開發團隊,"用"出來的。
這兩周的迷茫總結
大三快開始的時候,才知道有產品經理這個職位 乙個團隊的小領導,在網際網路行業,不用太懂技術,可以廣泛的與人交流,就是這種感覺,毫不猶豫的決定了以後就做產品經理,過了乙個多月開始著手找產品實習。十分幸運,一去就找到了,有段時間很忙,但累並快樂著。這兩周閒下來了,有點不知道該怎麼辦。深知自己能力不夠,但...
過了兩周的大二
總是在感慨時間很快,然而時間總是在感慨中更快的溜走。大一的軍訓訓得熱火朝天,想想去年的這個時候,我正在軍體拳方隊中揮汗如雨,有考慮過我剩下的四年要怎麼過,一不小心只剩下三年了。大二和大一簡直是毫無可比性,一開學,各種專業課猛地就全上來了,成天的滿課,為了早日修滿公選課個性課學分,周一到周四晚上也全是...
開學兩周來的教學情況
每週8課時,開學兩周半了,現在已經進行到順序程式設計中資料輸入輸出部分了,先對這兩周的教學情況總結一下,作個了結,再著實更新吧。前面兩章主要講了資料型別,這部分我感覺不應該太多的深入,學生很容易在這部分產生怕難情緒,比如資料在記憶體中儲存,優先順序 整型和字元型的關係,運算子結合性等,這些我都是一帶...