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