posts - 156,  comments - 601,  trackbacks - 0
           
               摘要: 前一陣開發(fā)這個(gè)基于組件化的監(jiān)控平臺(tái)收到的一些朋友的關(guān)注,在此表示感謝。也抱歉有一段時(shí)間沒有及時(shí)更新了。
          此次更新,主要是針對(duì)xml配置文件的簡化,很多朋友表示Spring的xml的配置比較麻煩。其實(shí)Spring開發(fā)團(tuán)隊(duì)在這方面也是考慮到,
          提供了一些方法可以讓用戶去編寫xsd文件簡單配置。這點(diǎn)我們是可以看到Spring開發(fā)團(tuán)隊(duì)的努的,現(xiàn)在Spring2.0以及2.5在配置上面也是簡化了很多
          如事務(wù),Aop配置以及util工具類的配置等。
          源代碼下載:
          二進(jìn)制程序
          第三方類庫下載,第三方類庫下載2 放到lib目錄下。
          api-docs
          源代碼

          關(guān)于想學(xué)習(xí)或使用過關(guān)于如何實(shí)現(xiàn)Spring的配置的朋友們,可以留言給我,一起進(jìn)行交流學(xué)習(xí)。這部分的學(xué)習(xí)文檔也是整理得不夠  閱讀全文
          posted @ 2008-04-21 08:14 x.matthew 閱讀(1920) | 評(píng)論 (4)編輯 收藏

          今天看到Spring官網(wǎng)上發(fā)布了一條新聞

          Application Management Suite 1.0.0.RC1 released

          以前未看到過該項(xiàng)目(可能未太留意),它也不屬于Spring的子項(xiàng)目。仔細(xì)一看它的說明原來是一個(gè)
          應(yīng)用服務(wù)器的管理軟件,所以進(jìn)了一下該項(xiàng)目官網(wǎng),大概看一下其文檔(文檔還是挺全的)。
          它運(yùn)行包括一個(gè)服務(wù)程序和一個(gè)代理程序,都是單獨(dú)運(yùn)行。其本身還提供高可靠性的集群方案。

          目前它支持的ApplicationServer有
            Tomcat5.5+
            WebLogic v9.1+
            WebSphere v5.0+
            JBoss v3.2+
          也可以管理單獨(dú)運(yùn)行的Java程序

          它管理的點(diǎn)也很多,分兩大類 基本Spring的和應(yīng)用服務(wù)器平臺(tái)本身
              Spring有如Spring的Bean,包括事務(wù),服務(wù),控制類等。
              平臺(tái)本身的有內(nèi)存,cpu使用率,線程狀態(tài)等等。

          更多的文檔,大家可以進(jìn)以下網(wǎng)址進(jìn)行查看
          http://www.covalent.net/beta/AMS/doc/AMS%20Documentation.html

          posted @ 2008-04-18 12:55 x.matthew 閱讀(1416) | 評(píng)論 (1)編輯 收藏
          經(jīng)歷了兩年多的開發(fā),終于發(fā)布了Spring Security 2.0.0版本。在此恭喜Spring Security開發(fā)團(tuán)隊(duì)成員。
          官方網(wǎng)址:Spring Security 2.0.0 

          此次發(fā)布版本的最大變化是簡潔化的配置。并且同次還提供很新的功能如 OpenID, NTLM(NT Lan Manager) 身份驗(yàn)證,元數(shù)據(jù)支持,AspectJ切面支持, 增強(qiáng)域訪問控制列表,基本RESTful的URI認(rèn)證,角色基本,用戶管理API等等。

          下面是官方發(fā)布聲明
          This significant new release replaces Acegi Security as the official security module for Spring applications.
          It offers substantially simplified configuration, and countless other 
          new capabilities including OpenID,
          NTLM, JSR 
          250 annotations, AspectJ pointcut support, domain ACL enhancements, RESTful URI authorization,
           groups, hierarchical roles, user management API, database
          -backed "remember me", portlet authentication,
          additional languages, Web Flow 
          2.0 support, Spring IDE visualization and auto-completion, enhanced WSS support
           via Spring Web Services 
          1.5 and much more.

          posted @ 2008-04-17 10:21 x.matthew 閱讀(2364) | 評(píng)論 (3)編輯 收藏
               摘要: 常使用web服務(wù)器的朋友大都了解,一般的web server有兩部分日志:
          一是運(yùn)行中的日志,它主要記錄運(yùn)行的一些信息,尤其是一些異常錯(cuò)誤日志信息
          二是訪問日志信息,它記錄的訪問的時(shí)間,IP,訪問的資料等相關(guān)信息。

          本文介紹一下利用tomcat產(chǎn)生的訪問日志數(shù)據(jù),我們能做哪些有效的分析數(shù)據(jù)?  閱讀全文
          posted @ 2008-04-14 08:11 x.matthew 閱讀(15787) | 評(píng)論 (80)編輯 收藏
               摘要: 針對(duì)于JDK本身提供的Properties類,增加了以下功能:  * 提供指定文件的讀寫編碼支持 Properties使用的編碼與當(dāng)前操作系統(tǒng)有關(guān)。一般為 unicode  * 支持Properties變量的使用。如果 a=123 \n b=${a}456  * 當(dāng)文件修改時(shí),自動(dòng)重新讀取。 下面我把源代碼粘于下面,供大家交流與學(xué)習(xí)之用,如有什么問題也...  閱讀全文
          posted @ 2008-04-13 12:18 x.matthew 閱讀(5625) | 評(píng)論 (4)編輯 收藏
          插件的官方網(wǎng)址 http://www.jiayun.org/mediawiki/entry/Commons4E

          1. 下載
          請(qǐng)先下載eclipse插件,點(diǎn)擊此處下載。注,該插件生成是代碼實(shí)現(xiàn)是基于apache commons lang項(xiàng)目。下載commons-lang.

          2.安裝
          插件安裝非常簡單,把下載的jar文件放到 eclipse 項(xiàng)目中的plugins目錄即可。

          3.如何使用
          插件安裝完成后,創(chuàng)建一個(gè)類文件,在編輯器按右鍵,在彈出的菜單上會(huì)看到Commons4E lang這一項(xiàng),如下圖:

          該插件提供生成 Equals和HashCode方法







          生成ToString方法





          生成 CompareTo方法。
          生成compareTo方法,自動(dòng)會(huì)實(shí)現(xiàn)Comparable接口。





          插件的使用非常方便,注:如果插件生成的方法已經(jīng)存在,它會(huì)自動(dòng)更換掉原來的方法。

          Good luck!
          Yours Matthew!

          posted @ 2008-04-03 08:39 x.matthew 閱讀(3961) | 評(píng)論 (2)編輯 收藏

          上次基于組件化的監(jiān)控平臺(tái)開發(fā)一個(gè)Tomcat監(jiān)控插件和郵件報(bào)警插件
          收到有很多朋友的支持,在些表示非常感謝。這次發(fā)布的將包含一個(gè)AMQ的監(jiān)控組件。

          下載地址
          二進(jìn)制程序
          第三方類庫下載,第三方類庫下載2 放到lib目錄下。
          api-docs
          源代碼


          先來介紹ActiveMQ服務(wù)監(jiān)控組件的實(shí)現(xiàn),該監(jiān)控組件目前實(shí)現(xiàn)了以下方面信息的監(jiān)控:
          1. Jvm堆內(nèi)存和非堆內(nèi)存的監(jiān)控(可以設(shè)置使用的百分比或是具體使用的內(nèi)存大小)
          2. 當(dāng)前操作文件打開的IO文件個(gè)數(shù)監(jiān)控。 一般操作默認(rèn)設(shè)置的最大值是1024,如果超過這個(gè)服務(wù)會(huì)導(dǎo)致JVM所有服務(wù)的停止。
          3. Queue隊(duì)列的消息者監(jiān)控。如果某一個(gè)隊(duì)列在設(shè)定時(shí)間段時(shí)都沒有消息者監(jiān)聽可以監(jiān)控該狀態(tài)信息
          4. 監(jiān)控所有非法IP連接.如果有未設(shè)定的非法IP連接可以組件監(jiān)控其非法IP地址,但進(jìn)行報(bào)警

          因?yàn)樵摻M件利用JMX技術(shù)對(duì)ActiveMQ進(jìn)行監(jiān)控,AcitveMQ默認(rèn)狀態(tài)下其JMX服務(wù)是打開著的,端口為1099.如果沒有打開,可以修改其配置文件 conf/activemq.xml
          activemq 4.x

           <broker brokerName="localhost" useJmx="true" xmlns="http://activemq.org/config/1.0">


          下面我們來看一下該監(jiān)控組件的實(shí)現(xiàn)類圖


          下面我們來操作一下如何使用Spring注冊(cè)該組件(spy2servers.xml),使用其監(jiān)控平臺(tái)工作起來。

           1     <bean class="org.xmatthew.spy2servers.component.spy.jmx.ActiveMQJmxSpyComponent">
           2         <property name="host" value="x.x.x.x"></property>
           3         <property name="port" value="1099"></property>
           4 
           5         <property name="heapMemorySpy">
           6             <bean class="org.xmatthew.spy2servers.component.spy.jmx.MemorySpy">
           7                 <property name="memoryUsedPercentToAlert" value="5"></property>
           8                 <property name="alertAfterKeepTimeLive" value="10"></property>
           9             </bean>
          10         </property>
          11         <property name="fileSpy">
          12             <bean class="org.xmatthew.spy2servers.component.spy.jmx.FileSpy">
          13                 <property name="filesOpenedPercentToAlert" value="8"></property>
          14                 <property name="alertAfterKeepTimeLive" value="2"></property>
          15             </bean>
          16         </property>    
          17         <property name="destinationNamesToWatch">
          18             <set>
          19                 <!-- if blank will inspect all queue names -->
          20                 <value>Test.Queue</value>
          21             </set>
          22         </property>
          23         <!-- if queue's consumers suspend for this time will alert  -->
          24         <property name="queueSuspendNotifyTime" value="2000"></property>
          25         <!-- any allow ip. if ip not in this list will component will alert -->
          26         <property name="llegalIps">
          27             <set>
          28                 <value>127.0.0.1</value>
          29             </set>
          30         </property>
          31     </bean>


          好了,基本的配置最是這些,應(yīng)用程序和源代碼已經(jīng)上傳大家可以自寫閱覽。大家如有任何問題請(qǐng)回復(fù)給我。

          Good luck!
          Yours Matthew!



          posted @ 2008-03-31 08:08 x.matthew 閱讀(4134) | 評(píng)論 (6)編輯 收藏
          最近在《讀者》上看到刊登的比利時(shí)《老人》雜心對(duì)60歲以上老人開展的一次題為“你最后悔什么”的專題調(diào)查結(jié)果中,統(tǒng)計(jì)出以下內(nèi)容:

          70%的老人后年輕時(shí)努力不夠,以致事業(yè)無成
          67%的老人后悔年輕時(shí)錯(cuò)誤選擇了職業(yè)
          63%的老人后悔對(duì)子女教育不夠或方法不當(dāng)
          58%的老人后悔鍛煉身體不夠
          47%的老人后悔對(duì)雙親的盡孝不夠
          41%的老人后悔選擇錯(cuò)了的終身伴侶
          36%的老人后悔未能周游世界
          32%的老人后悔一生過得平淡、缺乏刺激
          11%%的老人后悔沒有賺到更多的金錢

          LZ注:希望以上的調(diào)查結(jié)果能大家?guī)硪恍﹩l(fā)。在還沒有到后悔的時(shí)候,千萬要不要輕意放棄自己的夢(mèng)想,認(rèn)清自己的目標(biāo),請(qǐng)大家努力堅(jiān)持!!!加油!


          Yours Matthew!

          posted @ 2008-03-24 22:34 x.matthew 閱讀(663) | 評(píng)論 (1)編輯 收藏
               摘要: 前一陣因看到一位同事正在開發(fā)一個(gè)監(jiān)控軟件,就搭建了這組件化的監(jiān)控平臺(tái) http://www.aygfsteel.com/xmatthew/articles/185673.html。 看到有很多朋友的支持,在些表示非常感謝。即然平臺(tái)已經(jīng)搭建完成,接下就讓需要一起來完善這些真正在應(yīng)用的組件開發(fā),所以我利用業(yè)余時(shí)間,開發(fā)了一個(gè)Tomcat服務(wù)監(jiān)控組件和一個(gè)郵件通知服務(wù)組件。 下載地址 二進(jìn)制程序...  閱讀全文
          posted @ 2008-03-24 08:22 x.matthew 閱讀(4313) | 評(píng)論 (9)編輯 收藏
          最近看到一位同事正在開發(fā)一個(gè)監(jiān)控軟件,要求就是通過針對(duì)服務(wù)器現(xiàn)有的一些接口,通過這些接口返回的數(shù)據(jù)進(jìn)行分析,如果監(jiān)控的值到達(dá)預(yù)先設(shè)定的范圍則通過短信的方式發(fā)送給管理員。

          從整個(gè)開發(fā)的功能上來看是一個(gè)比較單一也很明確的功能,所開發(fā)的系統(tǒng)對(duì)所其所監(jiān)控的軟件的依賴性也非常大,主要是監(jiān)控的數(shù)據(jù)分析行為和監(jiān)控信息的服務(wù)報(bào)警行為這塊。既然這兩塊很難做成一個(gè)通用的功能模塊,那就搭建一個(gè)監(jiān)控平臺(tái),可以讓這些功能模塊通過組件的方式自由的注冊(cè)和銷毀。


          所有我構(gòu)思了這個(gè)監(jiān)控平臺(tái),它對(duì)外有三個(gè)接口,分別是監(jiān)控接口,報(bào)警接口和監(jiān)控消息監(jiān)控接口。由平臺(tái)統(tǒng)一管理這些組件的生命周期,每個(gè)組件都過單獨(dú)的線程運(yùn)行。提供一個(gè)核心組件CoreComponent調(diào)度所有監(jiān)控?cái)?shù)據(jù)的流轉(zhuǎn)。平臺(tái)本身還使用基于jmx管理服務(wù)技術(shù)提供對(duì)所有當(dāng)前使用的組件運(yùn)行情況的監(jiān)控,也包括動(dòng)態(tài)的啟動(dòng)和停止組件的運(yùn)行狀態(tài)。
           
          下載地址 
          二進(jìn)制程序
          第三方類庫下載,第三方類庫下載放到lib目錄下。
          api-docs 
          源代碼


          /**
           * Component interface.
           * 組件接口,提供組件的基本管理服務(wù)和狀態(tài)監(jiān)控。 所有組件必須要實(shí)現(xiàn)該接口。
           * 
           * 
          @author XieMaLin
           *
           
          */

          public interface Component {
              
              
          /**
               * component run status
               * 
               
          */

              
          public final static int ST_RUN = 1;
              
              
          /**
               * component run status name
               
          */

              
          public final static String ST_RUN_NAME = "Active";
              
              
          /**
               * component stop status
               
          */

              
          public final static int ST_STOP = 2;
              
              
          /**
               * component stop status name
               
          */

              
          public final static String ST_STOP_NAME = "Decctive";
              
              
          /**
               * get component status
               * <p>
               * One of ST_RUN, ST_STOP. 
               * 
          @return component status
               
          */

              
          public int getStatus();
              
              
          /**
               * get component status
               * <p>
               * One of ST_RUN_NAME, ST_STOP_NAME. 
               * 
               * 
          @return component status name
               
          */

              
          public String getStatusName();
              
              
          /**
               * if component active return true
               * 
               * 
          @return true if component is in status ST_RUN
               
          */

              
          public boolean isActive();
              
              
          /**
               * will be invoked after component plugs.
               
          */

              
          public void startup();

              
          /**
               * will be invoked after component unplugs.
               
          */

              
          public void stop();

              
          /**
               * set component context to the component.
               * it will auto invoke by CoreComponent
               * 
               * 
          @param context set the component context
               * 
               
          */

              
          public void setContext(ComponentContext context);

              
          /**
               * 
          @return get the component context
               
          */

              
          public ComponentContext getContext();
              
              
          /**
               * get component name
               * 
          @return get component name
               
          */

              
          public String getName();
              
              
          /**
               * get component strartup date
               * 
          @return get component strartup date
               
          */

              
          public Date getStartupDate();
              
              
          /**
               * set startup date to the component.
               * it will auto invoke by CoreComponent
               * 
               * 
          @param date startup date
               
          */

              
          public void setStartupDate(Date date);


          點(diǎn)擊查看具體內(nèi)容:http://www.aygfsteel.com/xmatthew/articles/185673.html
          posted @ 2008-03-12 13:48 x.matthew 閱讀(1586) | 評(píng)論 (2)編輯 收藏
          僅列出標(biāo)題
          共11頁: First 上一頁 3 4 5 6 7 8 9 10 11 
          主站蜘蛛池模板: 纳雍县| 夹江县| 拜泉县| 葵青区| 塔城市| 政和县| 芦山县| 浑源县| 嘉祥县| 武汉市| 贡山| 鹿泉市| 合水县| 宣武区| 西城区| 高阳县| 阿合奇县| 鄯善县| 临武县| 汝阳县| 灌南县| 兴和县| 阳东县| 龙江县| 雷山县| 鹰潭市| 中宁县| 太仓市| 奇台县| 海安县| 绵阳市| 台南县| 莱州市| 丰都县| 区。| 深水埗区| 洞头县| 平定县| 临汾市| 灵寿县| 银川市|