序言 JBOSS
是一個安裝簡單
包含EJB
容器
Java消息服務等等功能的應用服務器
但是他的面向方面設計(AOP)是它真正突出的部分
JBOSS
的優點很多
它不但是一個開放源代碼
平台獨立
全面的J
EE支持應用服務器而且安裝也非常簡單
JBOSS包括web服務器(servlet/JSP容器
HTML服務器)
EJB
容器
完整的純Java的數據庫引擎
(Java消息服務)JMS
JavaMail
和Java事務處理API/Java事務處理服務(JTA/JTS)支持
早期的JBOSS使用了Apache Tomcat Web服務器
但在JBOSS
中已經吧Apache Tomcat內嵌到JBOSS中了
JBOSS
在今年的JavaOne大會上發布
JBOSS組織把這個版本的JBOSS作為一個開發版
以便進行開發代碼的測試
正式的產品級的版本預計要到今年的第四季度發布
新增的功能包括
集成Java數據對象(JDO)
對於JMS多點傳送機制支持的修補
對J
EE
的完全實現和分布式事務機制
安裝JBOSS
非常簡單
先解壓縮JBOSS打包文件在配置一些環境變量就可以了
假設我現在有一個WAR文件並且這個文件已經使用JDBC進行了測試
當JBOSS已經正常運行
我把這個WAR文件放到JBOSS的部署目錄下
這時JBOSS的熱部署功能就可以自動部署這個WAR
從下載JBOSS到安裝並運行我的應用程序大概花不了
分鐘
JBOSS的應用服務器控制和配置-JMX機制
運行一次可以部署所有的組件和服務
資源屬性和可配置參數可以通過MBeans(可控制beans)映射和更改
這些控制可以在JBOSS的控制台進行設置
一旦我們的servlet
based的應用程序被部署
JBOSS就自動安裝一個部署MBeans
這個MBeans會被添加到JMX控制台的導航菜單中
通過這個MBean就可以部署或卸載WAR應用程序
或查看應用程序相關的屬性
不可否認
JBOSS的控制台在圖形話方面比起IBM
s WebSphere 或BEA
s WebLogic要顯得簡單的多
但效果是一樣的完全可以滿足工作的需要
另外
由於JBOSS是開發源代碼的所以你可以根據需要擴展控制台加上你想要的東西
aspects 介紹 JBOSS
的的新特性體現在面向方面設計(AOP)方面
通過適當的擴展
AOP可以使你描述類似共享自父類的類
在JBOSS中
AOP特性有許多好處
最重要的一個特性是它可以向你的類中
注入
一個行為而無需更改類的源代碼
這一特性允許你維護對象的持久行
使對象的方法
有目的的處理
(
transaction aware
)並使一個類能夠多集成
JBOSS的AOP架構負責處理AOP
使用了一組命名概念
比如
interceptor
pointcut
和
introduction
一個interceptors編碼
攔截器
(intercepts)
它把一個對象放到一個被攔截的類中
JBOSS允許你定義攔截器
這個攔截器被hook到構造方法和存取字段上
一個由pointcut定義的點被插入到攔截器類內部
他是一段定義在一個specific
xml文件中的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
我也非常喜歡FastObjects
JBOSS的AOP很先進但也很麻煩
它在類裝載時處理
所以沒有外在的附加的編輯步驟
對於向類中插入方法不需要改變源代碼
當我重新考量JBOSS的簡單安裝和優秀的熱部署功能後
我打消了上述對JBOSS的擔心
現在只剩下對JBOSS
的另一個看法那就是他的文檔
JBOSS站點上發布的免費文檔好像是原來的舊文檔
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28747.html