前端之家收集整理的这篇文章主要介绍了
weblogic.xml 部署描述符元素,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
weblogic.xml 部署描述符元素
本文档提供 WebLogic Server 特定的部署描述符 weblogic.xml 中的元素的完整参考。如果您的 Web 应用程序不包含 weblogic.xml 部署描述符,WebLogic Server 会自动选择部署描述符元素的默认值。要查看weblogic.xml的 Schema,请转至http://www.bea.com/ns/weblogic/90/weblogic-web-app.xsd@H_404_4@。
下列部分描述 weblogic.xml 部署描述符中根元素<weblogic-web-app>下可定义的复杂部署描述符元素:
§description
§weblogic-version
§security-role-assignment
§run-as-role-assignment
§reference-descriptorGroup
§session-descriptor
§jsp-descriptor
§auth-filter
§container-descriptor
§charset-params
§virtual-directory-mapping
§url-match-map
§security-permission
§context-root
§wl-dispatch-policy
§servlet-descriptor
§work-manager
§logging
§library-ref
§向后兼容性标志
§Web 容器全局配置
description
description 元素是 Web 应用程序的文字描述。
weblogic-version
weblogic-version元素表示该 Web 应用程序(在根元素<weblogic-web-app>下定义)即将部署至的 WebLogic Server 的版本。该元素仅表示版本信息,WebLogic Server并不使用该元素。
security-role-assignment
security-role-assignment元素声明 Web 应用程序安全角色与 WebLogic Server中一个或多个委托人之间的映射,如以下示例所示。
<security-role-assignment>
<role-name>PayrollAdmin</role-name>
<principal-name>Tanya</principal-name>
<principal-name>Fred</principal-name>
<principal-name>system</principal-name>
</security-role-assignment>
还可以使用它将给定角色标记为外部定义的角色,如以下示例所示:
<role-name>roleadmin</role-name>
<externally-defined/>
</security-role-assignment>
注意:@H_404_4@@H_404_4@ |
在@H_404_4@<security-role-assignment>@H_404_4@元素中,必须定义@H_404_4@<principal-name>@H_404_4@或@H_404_4@<externally-defined>@H_404_4@。不能两者都忽略。@H_404_4@@H_404_4@ |
下表描述可在security-role-assignment元素中定义的元素。
元素@H_404_4@@H_404_4@ |
必需@H_404_4@ @H_404_4@可选@H_404_4@描述@H_404_4@@H_404_4@ |
<role-name>@H_404_4@@H_404_4@ |
必需@H_404_4@指定安全角色的名称。@H_404_4@@H_404_4@ |
<principal-name>@H_404_4@如果未定义@H_404_4@<externally-defined>@H_404_4@,则此元素必需。@H_404_4@指定安全领域内定义的委托人的名称。可以使用多个@H_404_4@<principal-name>@H_404_4@元素向一个角色映射多个委托人。有关安全领域的详细信息,请参阅@H_404_4@确保WebLogic安全性@H_404_4@。@H_404_4@<externally-defined>@H_404_4@如果未定义@H_404_4@<principal-name>@H_404_4@,则此元素必需。@H_404_4@指定在安全领域内全局定义某特定安全角色;@H_404_4@WebLogic Server@H_404_4@使用该安全角色作为委托人名称,而无需在全局领域内查找委托人。如果还在其他位置上定义了该安全角色及其委托人名称的映射,则该元素将用作表示性占位符。@H_404_4@
注意:@H_404_4@ 如果您不定义@H_404_4@security-role-assignment@H_404_4@元素及其子元素,则@H_404_4@Web@H_404_4@应用程序容器会将该角色名隐式映射为委托人名称,并记录一条警告。如果不定义映射,则@H_404_4@EJB@H_404_4@容器不部署该模块。@H_404_4@ 注意:@H_404_4@ 假设角色名是@H_404_4@“role_xyz”@H_404_4@,请考虑以下使用场景@H_404_4@ § 如果在 weblogic.xml 中将“role_xyz”映射至用户“joe”,则 role_xyz 成为本地角色。
§ 如果将 role_xyz 指定为外部定义的角色,则它成为全局角色(它指领域级别上定义的角色)。
§ 如果不定义 security-role-assignment 元素,role_xyz 成为本地角色,且 Web 应用程序容器创建其隐式映射,并记录一条警告。
run-as-role-assignment
run-as-role-assignment 元素将 web.xml 中的 run-as 角色名(servlet 元素的子元素)映射为系统中的有效用户名。对于给定 servlet,该值将被 servlet-descriptor 中的 run-as-principal-name 元素替代。如果给定角色名中没有指定 run-as-role-assignment,则 Web 应用程序容器使用 security-role-assignment 中定义的第一个 principal-name。以下示例说明如何使用 run-as-role-assignment 元素。
<run-as-role-assignment>
<role-name>RunAsRoleName</role-name>
<run-as-principal-name>joe</run-as-principal-name>
</run-as-role-assignment>
下表描述可在run-as-role-assignment元素中定义的元素。
<run-as-principal-name>@H_404_4@指定委托人的名称。@H_404_4@reference-descriptorGroup
这个 weblogic.xml 部署描述符指 reference-descriptorGroup,它属于 weblogic-j2ee-xsd 文件的一部分。将使用 reference-descriptorGroup 的以下子元素
元素名@H_404_4@默认值@H_404_4@值@H_404_4@resource-description@H_404_4@ resource-description@H_404_4@元素用于将服务器资源的@H_404_4@JNDI@H_404_4@名映射至@H_404_4@WebLogic Server@H_404_4@中的@H_404_4@EJB@H_404_4@资源引用。请参阅@H_404_4@resource-description@H_404_4@。@H_404_4@resource-env-description@H_404_4@resource-env-description@H_404_4@元素将@H_404_4@ejb-jar.xml@H_404_4@部署描述符中声明的@H_404_4@resource-env-ref@H_404_4@映射至其代表的服务器资源的@H_404_4@JNDI@H_404_4@名。请参阅@H_404_4@resource-env-description@H_404_4@。@H_404_4@ejb-reference-description@H_404_4@
请参阅@H_404_4@ejb-reference-description@H_404_4@。@H_404_4@service-reference-description@H_404_4@请参阅@H_404_4@service-reference-description@H_404_4@。@H_404_4@ weblogic.xml 部署描述符。
resource-description
resource-description 元素用于将服务器资源的 JNDI 名映射至 WebLogic Server 中的 EJB 资源引用。
下表描述可在resource-description元素中定义的元素。
/ @H_404_4@可选@H_404_4@<res-ref-name>@H_404_4@指定资源引用的名称。@H_404_4@<jndi-name>@H_404_4@指定资源的@H_404_4@JNDI@H_404_4@名。@H_404_4@ .
resource-env-description
resource-env-description 元素将ejb-jar.xml部署描述符中声明的resource-env-ref映射至其代表的服务器资源的 JNDI 名。
下表描述可在resource-env-description元素中定义的元素。
<res-env-ref-name>@H_404_4@指定资源环境引用的名称。@H_404_4@指定资源环境引用的@H_404_4@ejb-reference-description
下表描述可在ejb-reference-description元素中定义的元素。
<ejb-ref-name>@H_404_4@指定@H_404_4@Web@H_404_4@应用程序中使用的@H_404_4@EJB@H_404_4@引用的名称。@H_404_4@指定引用的@H_404_4@service-reference-description
下表描述可在service-reference-description元素中定义的元素。
<service-ref-name>@H_404_4@<wsdl-url>@H_404_4@<call-property>@H_404_4@
<call-property>@H_404_4@元素具有下列子元素:@H_404_4@@H_404_4@ §@H_404_4@@H_404_4@<name>@H_404_4@ <value>@H_404_4@ |
<port-info>@H_404_4@ |
<port-info>@H_404_4@元素具有下列子元素:@H_404_4@<port-name>@H_404_4@ <stub-property>@H_404_4@ <call-property>@H_404_4@ |
session-descriptor
session-descriptor元素定义 servlet 会话的参数。
timeout-secs@H_404_4@3600@H_404_4@
设置@H_404_4@WebLogic Server@H_404_4@等待会话超时的时间(秒)。默认值为@H_404_4@3600@H_404_4@秒。@H_404_4@在繁忙的站点上,可以通过调整会话超时时间来调整应用程序。尽管您希望为浏览器客户端提供每个完成会话的机会,但如果用户已离开站点或已放弃会话,您也不希望毫无必要地占用服务器。@H_404_4@该元素可以由@H_404_4@web.xml@H_404_4@中的@H_404_4@session-timeout@H_404_4@元素(分钟)替代。@H_404_4@invalidation-interval-secs@H_404_4@60@H_404_4@WebLogic Server@H_404_4@在执行超时会话和无效会话的清理检查与删除旧会话并释放内存之间需要等待的时间(秒)。使用此元素调整@H_404_4@WebLogic Server@H_404_4@以在高流量站点上获得最佳性能。@H_404_4@默认值为@H_404_4@60@H_404_4@秒。@H_404_4@sharing-enabled@H_404_4@false@H_404_4@ |
如果该值在应用程序级别上设置为@H_404_4@true@H_404_4@,则@H_404_4@Web@H_404_4@应用程序能够共享@H_404_4@HTTP@H_404_4@会话。@H_404_4@如果在@H_404_4@Web@H_404_4@应用程序级别打开该元素,将忽略该元素。@H_404_4@debug-enabled@H_404_4@ |
启用@H_404_4@HTTP@H_404_4@会话的调试功能。@H_404_4@false@H_404_4@。@H_404_4@id-length@H_404_4@52@H_404_4@ |
设置会话@H_404_4@ID@H_404_4@的大小。@H_404_4@最小值为@H_404_4@8@H_404_4@字节,最大值为@H_404_4@Integer.MAX_VALUE@H_404_4@。@H_404_4@如果您正在编写@H_404_4@WAP@H_404_4@应用程序,您必须使用@H_404_4@URL@H_404_4@重写,因为@H_404_4@WAP@H_404_4@协议不支持@H_404_4@cookie@H_404_4@。同时,某些@H_404_4@WAP@H_404_4@设备限制@H_404_4@URL@H_404_4@的长度(包括特性)不得超过@H_404_4@128@H_404_4@个字符,这限制了使用@H_404_4@URL@H_404_4@重写功能可以传输的数据量。为了给各个特性预留较多空间,可以使用此特性限制@H_404_4@WebLogic Server@H_404_4@随机生成的会话@H_404_4@还可以通过设置@H_404_4@WAPEnabled@H_404_4@特性将长度限制为固定的@H_404_4@52@H_404_4@位字符,且不允许使用特殊字符。有关详细信息,请参阅@H_404_4@“@H_404_4@开发@H_404_4@WebLogic Server@H_404_4@的@H_404_4@Web@H_404_4@应用程序@H_404_4@”@H_404_4@中的@H_404_4@URL重写和无线访问协议@H_404_4@。@H_404_4@tracking-enabled@H_404_4@ |
true@H_404_4@ |
HTTP@H_404_4@请求之间的会话跟踪。@H_404_4@cache-size@H_404_4@ |
1028@H_404_4@ |
JDBC@H_404_4@持久性会话和文件持久性会话的缓存大小。@H_404_4@max-in-memory-sessions@H_404_4@ |
-1@H_404_4@ |
设置内存@H_404_4@/@H_404_4@复制会话的最大限制。@H_404_4@如果不能对内存中@H_404_4@servlet@H_404_4@会话的使用加以限制,那么,随着新会话的持续创建,服务器最终必然引发内存不足。为防止出现此问题,@H_404_4@WebLogic Server@H_404_4@将针对所创建会话的数量提供可配置的限制。超出该数量时,每次尝试新建会话时都会引发@H_404_4@weblogic.servlet.SessionCreationException@H_404_4@。此功能适用于复制内存中会话和非复制内存中会话。@H_404_4@要对内存中@H_404_4@servlet@H_404_4@会话的使用加以限制,您可以在@H_404_4@max-in-memory-sessions@H_404_4@元素中设置限制。@H_404_4@–1@H_404_4@(无限制)。@H_404_4@cookies-enabled@H_404_4@true@H_404_4@默认情况下启用会话@H_404_4@cookie@H_404_4@,建议保持此状态,但也可以通过将该属性设置为@H_404_4@false@H_404_4@来禁用它们。您可能会关闭该选项以进行测试。@H_404_4@cookie-name@H_404_4@JSESSIONID@H_404_4@定义会话跟踪@H_404_4@cookie@H_404_4@名称。如果没有设置,则默认值为@H_404_4@JSESSIONID@H_404_4@。可以将其设置为适用于您的应用程序的更具体的名称。@H_404_4@cookie-path@H_404_4@null@H_404_4@ |
cookie@H_404_4@路径。@H_404_4@如果未设置此特性,则此特性默认为@H_404_4@/@H_404_4@(斜杠),浏览器会向@H_404_4@WebLogic Server@H_404_4@服务的所有@H_404_4@URL@H_404_4@发送@H_404_4@cookie@H_404_4@。可以将该路径设置为限制性更强的映射,以便限制浏览器会向其发送@H_404_4@cookie@H_404_4@的请求@H_404_4@URL@H_404_4@。@H_404_4@cookie-domain@H_404_4@cookie@H_404_4@有效的域。例如,将@H_404_4@cookie-domain@H_404_4@设置为@H_404_4@.mydomain.com@H_404_4@会向@H_404_4@*.mydomain.com@H_404_4@域中的所有服务器返回@H_404_4@cookie@H_404_4@。@H_404_4@域名必须至少由两部分组成。将名称设置为@H_404_4@*.com@H_404_4@或@H_404_4@*.net@H_404_4@是无效的。@H_404_4@如果不设置此特性,则此特性默认为发出@H_404_4@cookie@H_404_4@的服务器。@H_404_4@有关详细信息,请参阅@H_404_4@Sun Microsystems@H_404_4@的@H_404_4@Servlet@H_404_4@规范中的@H_404_4@Cookie.setDomain()@H_404_4@。@H_404_4@cookie-comment@H_404_4@指定标识@H_404_4@cookie@H_404_4@文件中会话跟踪@H_404_4@cookie@H_404_4@的注释。@H_404_4@cookie-secure@H_404_4@false@H_404_4@指示浏览器仅通过@H_404_4@HTTPS@H_404_4@连接传回@H_404_4@cookie@H_404_4@。这可以确保@H_404_4@cookie ID@H_404_4@是安全的,且仅用于使用@H_404_4@HTTPS@H_404_4@的网站。如果启用此功能,则@H_404_4@HTTP@H_404_4@上的会话@H_404_4@Cookie@H_404_4@将不再起作用。@H_404_4@如果希望使用此特性,则应禁用@H_404_4@url-rewriting-enabled@H_404_4@元素。@H_404_4@cookie-max-age-secs@H_404_4@设置客户端上的会话@H_404_4@cookie@H_404_4@的生命周期(秒),会话@H_404_4@cookie@H_404_4@超过该时间即会过期。@H_404_4@–1@H_404_4@(无限制)@H_404_4@有关@H_404_4@cookie@H_404_4@的详细信息,请参阅@H_404_4@使用会话和会话持久性。@H_404_4@persistent-store-type@H_404_4@memory@H_404_4@将持久性存储方法设置为以下某个选项:@H_404_4@§@H_404_4@@H_404_4@memory@H_404_4@-@H_404_4@禁用持久性会话存储。@H_404_4@§@H_404_4@@H_404_4@replicated@H_404_4@-@H_404_4@与@H_404_4@memory@H_404_4@相同,但会话数据将在群集服务器之间复制。@H_404_4@replicated_if_clustered –@H_404_4@如果@H_404_4@Web@H_404_4@应用程序部署于群集服务器上,则会复制生效的@H_404_4@persistent-store-type@H_404_4@。否则,@H_404_4@memory@H_404_4@为默认值。@H_404_4@sync-replication-across-cluster –@H_404_4@复制将在群集内同步发生。@H_404_4@async-replication-across-cluster –@H_404_4@复制将在群集内异步发生。@H_404_4@§@H_404_4@@H_404_4@file@H_404_4@-@H_404_4@使用基于文件的持久性(另请参阅@H_404_4@persistent-store-dir)。@H_404_4@§@H_404_4@@H_404_4@jdbc@H_404_4@-@H_404_4@使用数据库存储持久性会话。(另请参阅@H_404_4@persistent-store-pool。)@H_404_4@cookie –@H_404_4@所有会话数据都存储于用户浏览器的@H_404_4@cookie@H_404_4@中。@H_404_4@persistent-store-cookie-name@H_404_4@WLCOOKIE@H_404_4@设置基于@H_404_4@cookie@H_404_4@的持久性所使用的@H_404_4@cookie@H_404_4@的名称。@H_404_4@WLCOOKIE@H_404_4@cookie@H_404_4@中带有会话状态,不应在@H_404_4@Web@H_404_4@应用程序之间共享。@H_404_4@有关详细信息,请参阅@H_404_4@使用基于Cookie的会话持久性。@H_404_4@persistent-store-dir@H_404_4@session_db@H_404_4@指定基于文件的持久性所使用的存储目录@H_404_4@确保您有充足的磁盘存储空间(有效会话数@H_404_4@与每个会话大小@H_404_4@的乘积)。可以通过查看@H_404_4@persistent-store-dir@H_404_4@下创建的文件来确定会话的大小。注意,每个会话的大小随序列化会话数据的大小变化而变化。@H_404_4@每个服务器实例都有一个默认的不需要配置的持久性文件存储。因此,如果不指定目录,会在@H_404_4@<server-name@H_404_4@>\data\store\default@H_404_4@目录中自动创建默认存储。但是,默认存储不能在群集服务器间共享。@H_404_4@可以在不同服务器之间共享的目录中创建自定义持久性存储,从而使文件持久性会话群集化。但是,您需要手工创建此目录。@H_404_4@persistent-store-pool@H_404_4@None@H_404_4@ | | |