熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

關於JBOSS的新特性的簡要介紹

2013-11-23 20:36:30  來源: Java開源技術 

  序言
  JBOSS 是一個安裝簡單包含EJB容器Java消息服務等等功能的應用服務器但是他的面向方面設計(AOP)是它真正突出的部分JBOSS的優點很多它不但是一個開放源代碼平台獨立全面的JEE支持應用服務器而且安裝也非常簡單
  
  JBOSS包括web服務器(servlet/JSP容器HTML服務器)EJB容器完整的純Java的數據庫引擎(Java消息服務)JMSJavaMail和Java事務處理API/Java事務處理服務(JTA/JTS)支持早期的JBOSS使用了Apache Tomcat Web服務器但在JBOSS中已經吧Apache Tomcat內嵌到JBOSS中了
  
  JBOSS在今年的JavaOne大會上發布JBOSS組織把這個版本的JBOSS作為一個開發版以便進行開發代碼的測試正式的產品級的版本預計要到今年的第四季度發布新增的功能包括集成Java數據對象(JDO)對於JMS多點傳送機制支持的修補對JEE的完全實現和分布式事務機制
  安裝JBOSS非常簡單先解壓縮JBOSS打包文件在配置一些環境變量就可以了 假設我現在有一個WAR文件並且這個文件已經使用JDBC進行了測試當JBOSS已經正常運行我把這個WAR文件放到JBOSS的部署目錄下這時JBOSS的熱部署功能就可以自動部署這個WAR從下載JBOSS到安裝並運行我的應用程序大概花不了分鐘
  
  JBOSS的應用服務器控制和配置-JMX機制運行一次可以部署所有的組件和服務資源屬性和可配置參數可以通過MBeans(可控制beans)映射和更改這些控制可以在JBOSS的控制台進行設置一旦我們的servletbased的應用程序被部署JBOSS就自動安裝一個部署MBeans這個MBeans會被添加到JMX控制台的導航菜單中通過這個MBean就可以部署或卸載WAR應用程序或查看應用程序相關的屬性
  
  不可否認JBOSS的控制台在圖形話方面比起IBMs WebSphere 或BEAs WebLogic要顯得簡單的多但效果是一樣的完全可以滿足工作的需要另外由於JBOSS是開發源代碼的所以你可以根據需要擴展控制台加上你想要的東西
  
  aspects 介紹
  JBOSS的的新特性體現在面向方面設計(AOP)方面通過適當的擴展AOP可以使你描述類似共享自父類的類在JBOSS中AOP特性有許多好處最重要的一個特性是它可以向你的類中注入一個行為而無需更改類的源代碼這一特性允許你維護對象的持久行使對象的方法有目的的處理(transaction aware)並使一個類能夠多集成
  
  JBOSS的AOP架構負責處理AOP使用了一組命名概念比如interceptor pointcutintroduction
  一個interceptors編碼攔截器(intercepts)它把一個對象放到一個被攔截的類中JBOSS允許你定義攔截器這個攔截器被hook到構造方法和存取字段上一個由pointcut定義的點被插入到攔截器類內部他是一段定義在一個specificxml文件中的XML代碼這也是一個像上面講到的熱部署的過程
  一個pointcut定義了已經攔截的(intercepted )和正在攔截的類的規范它是一個可選項可以通過XML文件中的過濾機制來選擇它所以只有規范的字段和方法會被攔截攔截類擴展了一個invoke()方法
  要攔截類的方法或字段被訪問這個方法就會被JBOSS AOP架構調用結果是攔截者看不到外部系統和攔截類之間被插入了什麼
  
  JBOSS在引導時通過攔截類的類文件實現了這一切當一個攔截類被引導ClassLoader通過類文件向類中加入字節代碼在運行之後字節代碼把控制傳輸到一個控制類中並且扮演一個交換器的角色把攔截發送到適當的處理類
  JBOSS AOP架構超出了簡單的向一個類中[i]注入[/i]行為的操作它提出了引言的概念這個[i]引言[/i]是一個特定的攔截它在引導時把一個新的接口存儲到類中另外引言提供了類的接口的實現
  
  如果你覺得多重繼承還不夠JBOSS還使用AOP來把類和類的方法與元數據關聯起來實際上JBOSS參照了JSR中的元數據機制這使得今後JBOSS可以透明的向一個已有的Java對象添加所有的持久行機制和傳輸控制
  如果對AOP的方面的知識很感興趣但是你又不想通過一個應用服務器來體驗他的特性你可以從上下載一個分離的AOP架構單獨使用
  
  復雜但卻很有用
  我必須承認我對JBOSS AOP的擔心它非常像FastObjects 的oop 我也非常喜歡FastObjectsJBOSS的AOP很先進但也很麻煩它在類裝載時處理所以沒有外在的附加的編輯步驟對於向類中插入方法不需要改變源代碼
  當我重新考量JBOSS的簡單安裝和優秀的熱部署功能後我打消了上述對JBOSS的擔心現在只剩下對JBOSS的另一個看法那就是他的文檔JBOSS站點上發布的免費文檔好像是原來的舊文檔
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28747.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.