Oracle針對GlassFish服務器的策略的主要目標之一是“與Fusion Middleware and Products集成”(來源: Community Roadmap,2010年5月 )。 在今年早些時候,您聽到了很多關于兩臺服務器合而為一的恐懼和謠言。 看到這兩種產品在功能和發布方面都在向前發展,那么可以更清楚地知道該策略是什么。
從GlassFish對一組有限的特定于WebLogic的特定部署描述符的支持開始,Oracle便繼續使用WebLogic進行相同的操作。 從10.3.6開始,WebLogic Server添加了對讀取和使用GlassFish的Web部署描述符的支持。 這些是glass?sh-web.xml和sun-web.xml。 這對于為WebLogic Server提供資源和安全性的特定GlassFish行為設置和映射很有用。 顯然,這樣做的目的是允許將GlassFish應用程序更輕松地部署到WebLogic Server,反之亦然。
WebLogic對GlassFish的了解
WebLogic Server檢測WAR文件中是否存在GlassFish Web部署描述符并對其進行解析。 已知條目將解析為WebLogic服務器設置,并在運行時通過WebLogic MBean(weblogic.j2ee.descriptor.wl.WeblogicWebAppBean)應用。
如果存在,WebLogic將始終使用現有的weblogic.xml代替GlassFish部署描述符,并且WebLogic在運行時應用設置,這意味著實際上不會生成任何weblogic.xml。
glassfish-web.xml元素名稱 | Weblogic支持( weblogic.xml ) |
---|
上下文根 | 上下文根 | 安全角色映射 角色名稱 原則名稱 組的名字 | 安全角色分配 角色名稱 原則名稱 原則名稱 | 會話配置 session-manager:manager-properties: reapIntervalSeconds session-manager:manager-properties: maxSessions session-manager:manager-properties: 目錄 session-manager:manager-properties: timeoutSeconds | 會話描述符 失效間隔秒數 最大內存會話 persistentOstoreOdir 超時秒數 | 引用 ejb-ref-name 英文名 | ejb-ref-description ejb-ref-name 英文名 | 資源參考 res-ref-name 英文名 | 資源描述 res-ref-name 英文名 | 資源環境參考 資源環境引用名稱 英文名 | 資源環境描述 資源環境引用名稱 英文名 | 類加載器 代表 | 容器描述符 更喜歡網絡信息類 | jsp配置 checkInterval 保持生成 暫存目錄 | jsp描述符 頁面檢查秒 保持生成 工作目錄 |
|
如果將GlassFish Web應用程序部署到WebLogic,您將獲得一些具有INFO級別的日志消息,并且您可以了解發生的情況:
<信息> <HTTP> <BEA-101392> ...
<不支持Glassfish描述符元素<glassfish-web-app >>
<Glassfish描述符元素<context-root>已成功解析并應用> <不支持Glassfish描述符元素<idempotent-url-pattern >> <不支持Glasfish描述符元素<property >> <Glassfish描述符元素<reapIntervalSeconds>已成功解析并應用> <Glassfish描述符元素<res-ref-name>已成功解析并應用> <Glassfish描述符元素<jndi-name>已成功解析并應用> <Glassfish描述符元素<delegate>已成功解析并應用> <Glassfish描述符元素<keepgeneration>已成功解析并應用>
與GlassFish對WebLogic的了解相比,這仍然是一組非常有限的參數。 但這涵蓋了最需要的內容。 而且,我們仍然期待使用進一步的Java EE版本進行更少的xml配置。 但是讓我們看看另一面。
GlassFish對WebLogic的了解
GlassFish Server對weblogic-application.xml,weblogic.xml和weblogic-webservices.xml部署描述符文件提供了有限的支持。 GlassFish Server支持的weblogic-application.xml中的唯一元素是安全性。 glassfish-application.xml文件中的等效元素是security-role-mapping。
weblogic.xml元素名稱 | GlassFish服務器支持 |
---|
安全角色分配下的角色 名稱 | 等效于security-role-mapping glassfish-web.xml 的角色 名稱 | 委托人名稱 安全角色分配 | 等效于security-role-mapping glassfish-web.xml的 主體名稱 | 資源描述 | 等效于resource-ref glassfish-web.xml ,但不支持資源鏈接 | 資源環境描述 | resource-env-ref glassfish-web.xml等效,但是 不支持資源鏈接 | ejb參考說明 | ejb-ref glassfish-web.xml等效 | 服務參考說明 | 等效的service-ref glassfish-web.xml | 會話描述符下的超時秒數 | 會話屬性的timeoutSeconds 屬性 等效的glassfish-web.xml | 會話描述符下的invalidation-interval-secs | 等同于manager-properties glassfish-web.xml的 reapIntervalSeconds屬性 | 會話描述符下的最大內存會話數 | maxSessions屬性 等效管理器屬性 glassfish-web.xml | 會話描述符下的persistent-store-dir | 等效于store-properties glassfish-web.xml的 目錄屬性 | 在下面的首選網絡信息類 容器描述符 | 類加載器的 委托屬性glassfish-web.xml等效 | 上下文根 | 上下文根 glassfish-web.xml等效項 | 在會話描述符下啟用cookie | Servlet 3.0 | 下的cookie名稱 會話描述符 | Servlet 3.0 | 會話描述符下的cookie路徑 | Servlet 3.0 | 會話描述符下的cookie域 | Servlet 3.0 | 會話描述符下的cookie注釋 | Servlet 3.0 | Cookie安全下 會話描述符 | Servlet 3.0 | 會話描述符下的cookie-max-age-secs | Servlet 3.0 | 會話描述符下僅cookie-http- | Servlet 3.0 | 在會話描述符下啟用了url重寫 | Servlet 3.0 | 下的persistent-store-cookie-name 會話描述符 | 支持基于Cookie的持久性 | 在JSP的描述 keepgenerated | JspServlet的keepgenerated初始化參數 | jsp-descriptor下的working-dir | 暫存目錄 JspServlet的 init參數 | jsp-descriptor下的compress-html-template | JspServlet的trimSpaces初始化參數 | 在容器描述符下啟用了索引目錄 | 列表 DefaultServlet的 init參數 | 容器描述符下的索引目錄排序方式 | DefaultServlet的 init參數的sortedBy | 在容器描述符下啟用save-sessions | 相同 以asadmin redeploy --keepstate = true或在glassfish-web.xml中 保持狀態 | Servlet描述符下的運行原名稱 | servlet glassfish-web.xml下的主體名稱 |
|
weblogic-webservices.xml元素名稱 | GlassFish服務器支持 |
---|
網絡服務類型 | 可能的值是JAXRPC或JAXWS。 GlassFish服務器 不支持帶有JSR 181批注的JAX-RPC Web服務。 使用這個 元素是有限的,因為容器可以找出類型是否為 基于存在JSR 181批注的JAX-WS或JAX-RPC。 | wsdl-發布文件 | 與wsdl-publish-location相同 在glassfish-web.xml中 | 服務端點地址 | 與glassfish-web.xml中的 endpoint-address-uri相似,除了webservice-contextpath和webservice-serviceuri是 分別指定 | j2ee:登錄配置 | 與glassfish-web.xml中的 login-config相同 | j2ee:transport-guarantee | 與glassfish-web.xml中的 transport-guarantee相同 | 在wsdl下暴露 | 接受 true或false ,默認為true 。 控制WSDL向客戶端的發布。 | 流附件 | 接受真實 或false ,默認為true 。 僅用于JAX-WS Web服務。 配置JAX-WS運行時 以流方式發送附件。 | 驗證請求 | 接受true或false ,默認為false 。 只要 用于JAX-WS Web服務。 配置JAX-WS運行時以驗證該請求消息 如WSDL定義所指定。 | http-response-buffersize | ReliabilityMessagingFeature配置的屬性,類似于ReliableMessagingFeature.setDestinationBufferQuota() | 可靠性配置 | 部分支持。 子元素 映射到Metro的ReliabilityMessagingFeature 。 | 可靠性配置下的不活動超時 | 映射到ReliableMessagingFeature。 getSequenceInactivityTimeout() | 可靠性配置下的基本重傳間隔 | 映射到ReliableMessagingFeature。 getMessageRetransmissionInterval() | 重傳指數退避 在可靠性配置下 | 映射到ReliableMessagingFeature。 getRetransmissionBackoffAlgorithm() 。 返回枚舉值,其中之一是exponential 。 | 確認間隔 在可靠性配置下 | 映射到ReliableMessagingFeature。 getAcknowledgementTransmissionInterval() | 可靠性配置下的序列到期 | 映射到ReliableMessagingFeature。 getSequenceInactivityTimeout() 。 在WebLogic Server中 無論活動如何,值均適用。 在Metro中,它僅適用于無效序列。 | 緩沖區重試計數 在可靠性配置下 | 映射到ReliableMessagingFeature。 getMaxMessageRetransmissionCount() | 可靠性配置下的緩沖區重試延遲 | 映射到ReliableMessagingFeature。 getMessageRetransmissionInterval() |
|
但是,這到底有什么好處呢?
好問題。 對于發生的事情有一些可能的解釋。
- GlassFish可以定位為基于WebLogic服務器的Oracle FMW堆棧的經過認證的輕量級開發平臺。 如果這將是主要目標,那么我不希望WebLogic理解GF的任何DD,而GF知道WLS的所有調整和設置。
- 在WLS上輕松重新部署GF應用程序。 這是您在官方啟動幻燈片上找到的。 如果您正在運行GF,并且需要擴展到WLS,則遷移路徑會更容易。
- 兩個團隊都在嘗試了解另一端的概念和轉換。 過去的GF路線圖強調了WLS和GF的“公用服務器平臺”。 因此,彼此了解對于團隊來說是一個簡單而明顯的第一步。
與往常一樣,所有事情可能都是正確的。 因此,除了滿足并觀察兩個出色的服務器如何靠近并為將來的可能性開放之外,現在別無其他。
參考:在Java軟件企業軟件開發博客上,從我們的JCG合作伙伴 Markus Eisele的GlassFish 3.x升級到WebLogic 12c Server 。
相關文章 :
- 帶有NetBeans 7.1 RC 2的WebLogic 12c快速入門
- 泄漏:Oracle WebLogic Server 12g
- Oracle WebLogic Java云服務–幕后花絮。
- 使用Oracle WebLogic對應用程序外部的EJB的引用
- GlassFish響應生產中的GZIP壓縮
- 具有GlassFish和一致性的高性能JPA –第1部分
翻譯自: https://www.javacodegeeks.com/2011/12/scaling-up-to-weblogic-12c-server-from.html