SunGlassFishEnterpriseServerv2.
1.
1发行说明SunMicrosystems,Inc.
4150NetworkCircleSantaClara,CA95054U.
S.
A.
文件号码821–1044–122010年4月版权所有2010SunMicrosystems,Inc.
保留所有权利.
4150NetworkCircle,SantaClara,CA95054U.
S.
A.
对于本文档中介绍的产品,SunMicrosystems,Inc.
对其所涉及的技术拥有相关的知识产权.
需特别指出的是(但不局限于此),这些知识产权可能包含一项或多项美国专利,或者在美国和其他国家/地区申请的待批专利.
美国政府权利—商业软件.
政府用户应遵循SunMicrosystems,Inc.
的标准许可协议,以及FAR(FederalAcquisitionRegulations,即"联邦政府采购法规")的适用条款及其补充条款.
本发行版可能包含由第三方开发的内容.
本产品的某些部分可能是从BerkeleyBSD系统衍生出来的,并获得了加利福尼亚大学的许可.
UNIX是X/OpenCompany,Ltd.
在美国和其他国家/地区独家许可的注册商标.
Sun、SunMicrosystems、Sun徽标、Solaris徽标、Java咖啡杯徽标、docs.
sun.
com、JavaJava和Solaris是SunMicrosystems,Inc.
在美国和其他国家/地区的商标或注册商标.
所有SPARC商标的使用均已获得许可,它们是SPARCInternational,Inc.
在美国和其他国家/地区的商标或注册商标.
标有SPARC商标的产品均基于由SunMicrosystems,Inc.
开发的体系结构.
OPENLOOK和SunTM图形用户界面是SunMicrosystems,Inc.
为其用户和许可证持有者开发的.
Sun感谢Xerox在研究和开发可视或图形用户界面的概念方面为计算机行业所做的开拓性贡献.
Sun已从Xerox获得了对Xerox图形用户界面的非独占性许可证,该许可证还适用于实现OPENLOOKGUI和在其他方面遵守Sun书面许可协议的Sun许可证持有者.
本发行说明所介绍的产品以及所包含的信息受美国出口控制法制约,并应遵守其他国家/地区的进出口法律.
严禁将本产品直接或间接地用于核设施、导弹、生化武器或海上核设施,也不能直接或间接地出口给核设施、导弹、生化武器或海上核设施的最终用户.
严禁出口或转口到美国禁运的国家/地区以及美国禁止出口清单中所包含的实体,包括但不限于被禁止的个人以及特别指定的国家/地区的公民.
本文档按"原样"提供,对所有明示或默示的条件、陈述和担保,包括对适销性、适用性和非侵权性的默示保证,均不承担任何责任,除非此免责声明的适用范围在法律上无效.
100421@23626概述SunGlassFishTMEnterpriseServer产品是兼容JavaTMPlatform,EnterpriseEdition(JavaEE)5平台的服务器,用于开发和部署JavaEE应用程序和JavaWeb服务.
该服务器可以免费用于生产.
SunGlassFishEnterpriseServer可免费用于开发、部署和再分发.
如果您是对再分发感兴趣的客户,请联系SunOEM销售部,以获取再分发许可证.
Sun提供经济高效而灵活的EnterpriseServer订购.
有关更多详细信息,请参见SunGlassFishEnterpriseServer订购.
SunGlassFishEnterpriseServer是简易、快速、业界领先的应用服务器,以JavaPlatform,EnterpriseEdition(JavaEE)技术为基础,用于开发和交付Web应用程序及Web服务.
它为可伸缩的电信运营商级服务提供了较高的性能、群集和高可用性功能,使其在软件和硬件出现故障时可以继续运行.
第3页中的"关于本说明"第4页中的"为残疾人士提供的辅助功能"第4页中的"相关文档"第5页中的"如何报告问题和提供反馈"第6页中的"Sun欢迎您提出意见"第6页中的"其他Sun资源"关于本说明本发行说明包含SunGlassFishEnterpriseServer发行时提供的重要信息.
还介绍了增强功能、已知问题和其他最新问题.
在开始使用EnterpriseServer之前,请先阅读本文档.
可在EnterpriseServer文档Web站点(http://docs.
sun.
com/coll/1343.
6)上找到本发行说明的最新版本.
在安装和设置软件之前,请先查看此Web站点上的相关信息,并在以后定期查看最新的发行说明和产品文档.
本文档引用了第三方URL以提供其他相关信息.
1第1章3注–Sun对本文档中提到的第三方Web站点的可用性不承担任何责任.
对于此类站点或资源中的(或通过它们获得的)任何内容、广告、产品或其他资料,Sun并不表示认可,也不承担任何责任.
对于因使用或依靠此类站点或资源中的(或通过它们获得的)任何内容、产品或服务而造成的或连带产生的实际或名义损坏或损失,Sun概不负责,也不承担任何责任.
发行说明修订历史记录本节列出了在SunGlassFishEnterpriseServer产品的初始发行版之后,在本发行说明中所做的更改.
表1–1发行说明修订历史记录修订日期描述2009年10月EnterpriseServerv2.
1.
1产品的FCS发行版.
2010年1月说明错误修复情况并提及对带有JavaSE6的AIX6.
1的支持2010年4月提及64位SUSELinuxEnterpriseServer11.
为残疾人士提供的辅助功能欲获得自本介质发行以来所发布的辅助功能,请联系Sun索取有关"Section508"法规符合性的产品评估文档,以便确定哪些版本最适合部署辅助功能解决方案.
可在以下网址找到应用程序的更新版本:http://sun.
com/software/javaenterprisesystem/get.
html有关Sun在辅助功能方面所做出的努力的信息,请访问http://www.
sun.
com/accessibility/index.
jsp.
相关文档表1–2EnterpriseServer文档集中的书籍书名说明文档中心按任务和主题组织的EnterpriseServer文档主题.
发行说明软件和文档的最新信息.
其中包括有关受支持硬件、操作系统、JavaTMDevelopmentKit(JDKTM)以及数据库驱动程序的表式综合汇总.
快速入门指南如何开始使用EnterpriseServer产品.
安装指南安装软件及其组件.
应用程序部署指南将应用程序和应用程序组件部署到EnterpriseServer.
其中包括有关部署描述符的信息.
发行说明修订历史记录SunGlassFishEnterpriseServerv2.
1.
1发行说明2010年4月4表1–2EnterpriseServer文档集中的书籍(续)书名说明开发者指南创建和实现要在EnterpriseServer上运行的JavaPlatform,EnterpriseEdition(JavaEE平台)应用程序,这些应用程序遵循针对JavaEE组件和API的开放式Java标准模型.
其中包括有关开发者工具、安全性、调试和创建生命周期模块的信息.
部署规划指南部署规划和设置.
升级指南从产品的旧版本升级到EnterpriseServerv2.
1.
1.
JavaEE5教程使用JavaEE5平台技术和API开发JavaEE应用程序.
JavaWSIT教程使用Web服务互操作性技术(WebServiceInteroperabilityTechnologies,WSIT)开发Web应用程序.
介绍了如何使用、何时使用以及为什么使用WSIT技术以及各种技术支持的功能和选项.
管理指南EnterpriseServer的系统管理,其中包括配置、监视、安全性、资源管理和Web服务管理.
高可用性管理指南设置群集,处理节点代理以及使用负载平衡器.
管理参考编辑EnterpriseServer配置文件domain.
xml.
性能调试指南调节EnterpriseServer以提高性能.
参考手册可用于EnterpriseServer的实用程序命令,以手册页样式编写.
其中包括asadmin命令行界面.
如何报告问题和提供反馈如果您在使用SunGlassFishEnterpriseServer期间遇到问题,请通过以下方式与Sun联系:GlassFish邮件列表(https://glassfish.
dev.
java.
net/servlets/ProjectMailingListList)—针对各种问题和反馈的多个GlassFish社区邮件列表JavaDeveloperConnection上的错误数据库(http://developer.
java.
sun.
com/servlet/SessionServleturl=/developer/bugParade/index.
jshtml)—要查看错误或提交错误,请使用JavaDeveloperConnectionBugParadeJavaDeveloperConnection上的错误数据库(http://developer.
java.
sun.
com/servlet/SessionServleturl=/developer/bugParade/index.
jshtml)—要查看错误或提交错误,请使用JavaDeveloperConnectionBugParadeGlassFish问题跟踪器(https://glassfish.
dev.
java.
net/servlets/ProjectIssues)Java技术论坛(http://forum.
java.
sun.
com/)—一种交互式留言板,用于共享有关Java技术和编程技巧的知识与问题.
Sun支持中心(http://www.
sun.
com/support/)—可以链接到知识库、联机支持中心和ProductTracker,并取得维护程序和支持联系人电话号码随维护合同一起分发的电话号码如何报告问题和提供反馈第1章概述5为了使我们能更好地帮助您解决问题,请在联系客户支持时提供以下信息:问题的说明,包括问题发生时出现的情况以及它对操作的影响计算机类型、操作系统版本,以及产品版本,包括可能导致问题的任何修补程序和其他软件操作的详细步骤,以便再现问题任何错误日志或信息转储Sun欢迎您提出意见Sun致力于提高其文档的质量,并十分乐意收到您的意见和建议.
要分享您的意见,请转至http://docs.
sun.
com并单击"反馈".
在联机表单中,请提供文档标题和文件号码.
文件号码是一个七位或九位的数字,可以在书的标题页或文档的顶部找到.
例如,本书的书名是《SunGlassFishEnterpriseServerv2.
1.
1发行说明》,文件号码是821-1044-10.
其他Sun资源可以在以下位置找到有用的信息:EnterpriseServer产品信息(http://wwws.
sun.
com/software/products/appsrvr/home_appsrvr.
html)专业服务(http://www.
sun.
com/service/sunps/sunone)软件产品和服务(http://www.
sun.
com/software)Sun支持中心(http://www.
sun.
com/support/)支持和知识库(http://www.
sun.
com/service/support/software)Sun支持和培训服务(http://training.
sun.
com)咨询和专业服务(http://www.
sun.
com/service/sunps/sunone)开发者信息(http://developers.
sun.
com)Sun开发者支持服务(http://www.
sun.
com/developers/support)软件培训(http://www.
sun.
com/training)Sun软件数据表(http://wwws.
sun.
com/software)SunMicrosystems产品文档(http://docs.
sun.
com/)Sun欢迎您提出意见SunGlassFishEnterpriseServerv2.
1.
1发行说明2010年4月6关于SunGlassFishEnterpriseServerEnterpriseServer是兼容JavaEE5平台的服务器,用于在大规模生产环境中开发和部署JavaEE应用程序和基于Java技术的Web服务.
本章包括:第7页中的"SunGlassFishEnterpriseServerv2.
1.
1中的新功能"第8页中的"SunGlassFishEnterpriseServer的功能"第10页中的"硬件和软件要求"第24页中的"SunGlassFishEnterpriseManager"第21页中的"WebStack支持"第24页中的"使用更新中心"SunGlassFishEnterpriseServerv2.
1.
1中的新功能Grizzly1.
0.
30–除了集成Grizzly1.
0.
30之外,还对Grizzly进行了改进,以便在EnterpriseServer中实现更快捷、更可靠的实例故障转移.
通过mod_jk插件支持ApacheWebServer–有关EnterpriseServerv2.
1.
1如何支持ApacheWebServer的更多详细信息,请参见第21页中的"WebStack支持".
支持JSF1.
2_13–EnterpriseServerv2.
1.
1支持JSF1.
2_13.
支持Jersey1.
0.
3–EnterpriseServerv2.
1.
1支持Jersey1.
0.
3.
支持SunGlassFishMessageQueue4.
4–EnterpriseServerv2.
1.
1支持SunGlassFishMessageQueue4.
4.
有关更多详细信息,请参见第16页中的"MessageQueue版本".
错误修复和增强功能–要查看发行版中已修复错误的完整列表,请参见GlassFish问题跟踪器和bugs.
sun.
com.
SunGlassFishEnterpriseServerv2.
1.
1相当于SunGlassFishEnterpriseServerv2.
1修补程序06,该修补程序可以通过SunSolve(http://sunsolve.
sun.
com)获得.
2第2章7SunGlassFishEnterpriseServer的功能这些功能在SunGlassFishEnterpriseServer中推出,包括以下功能:在SunConnection中注册—可以使用安装程序、管理控制台GUI或更新中心在SunConnection(http://www.
sun.
com/service/sunconnection/index.
jsp)中注册产品.
在SunConnection中注册EnterpriseServer后,您可以获得以下好处:修补程序信息和错误更新截屏视频(screencast)和教程新闻和事件支持和培训服务AIX操作系统支持—对于使用开发者配置文件或群集配置文件创建的域,AIX操作系统支持EnterpriseServer.
SunGlassFishEnterpriseServerv2.
1.
1支持带有JDK1.
6Update17的AIX6.
1.
您需要应用IBM修补程序PMR:56151,756,000.
注–AIX操作系统不支持企业配置文件,因为AIX操作系统不支持HADB和NSS.
Ubuntu操作系统支持—EnterpriseServer已与UbuntuLinux操作系统进行捆绑.
注–EnterpriseServer文档集中的安装信息与该操作系统无关.
UbuntuLinux操作系统不支持企业配置文件,因为UbuntuLinux操作系统不支持HADB和NSS.
SUSELinux64位支持多级关系预取支持-现在支持容器管理持久性(container-managedpersistence,CMP)2.
1实体bean的多级关系预取.
有关更多信息,请参见第26页中的"启用多级关系预取".
增强的JBI支持-您可以通过管理控制台GUI或命令行来更新JBI组件,无需重新部署任何已经部署的服务集合.
JavaEE5平台支持-SunGlassFishEnterpriseServer实现了JavaEE5规范,可以为下一代企业应用程序和Web服务提供最佳的应用程序运行时.
EnterpriseServer实现了以下JavaEE标准:EnterpriseJavaBeans3.
0JAXB2.
0JavaPersistenceJavaServerFaces1.
2JavaServerPages2.
1(JSP2.
1)JavaServerPagesStandardTagLibrary(JSTL)1.
2StreamingAPIforXML(StAX)WebServicesMetadataSunGlassFishEnterpriseServer的功能SunGlassFishEnterpriseServerv2.
1.
1发行说明2010年4月8JavaAPIforXMLbasedWebServices2.
0(JAX-WS2.
0)CommonAnnotationsfortheJavaPlatform1.
0(CAJ1.
0)JavaServlet2.
5本说明的后面部分提供了完整的JavaEE5平台技术列表.
Web服务互操作性技术(WebServicesInteroperabilityTechnologies,WSIT)支持–Sun与Microsoft密切合作,以确保Web服务企业技术(例如消息优化、可靠的消息传送和安全性)的互操作性.
WSIT的初始发行版便是这一通力合作的产品.
WSIT是多个开放式Web服务规范的实现,用以支持企业功能.
除了消息优化、可靠的消息传送和安全性之外,WSIT还包括引导和配置技术.
从当前Java平台上内置的核心XML支持开始,WSIT使用或扩展了现有的功能,并添加了新的对可互操作Web服务的支持,其中包括:引导和配置消息优化技术可靠的消息传送技术安全性技术有关EnterpriseServer中的WSIT集成的更多信息,请参见本章后面部分的第26页中的"有关WSIT集成的更多信息".
JBI支持-JBI使用业务集成服务提供者接口(ServiceProviderInterface,SPI)对JavaEE进行了扩展.
开发者可以使用这些SPI为WSCI、BPEL4WS和W3CChoreographyWorkingGroup等规范创建或实现Java业务集成环境.
JBI实现由EnterpriseServer安装程序直接安装,通常安装在as-install/jbi目录中.
此目录包含JBI的所有通用JAR文件和系统组件,其中包括在EnterpriseServerJVM中启动JBI框架的lifecycle模块.
内存复制支持-其他服务器上的内存复制提供了会话状态数据的轻量存储,而无需获得单独的数据库(例如HADB).
此类型的复制可使用其他服务器上的内存来实现HTTP会话和有状态会话Bean数据的高可用性存储.
群集服务器实例在环形拓扑中复制会话状态.
每个备份实例均在内存中存储复制数据.
通过在其他服务器上的内存中复制会话状态数据,可以分布会话.
使用内存复制需要启用组管理服务(GroupManagementService,GMS)(启用状态默认为true).
使用情况配置文件-每个管理域都与一个使用情况配置文件关联,此配置文件指定该域的功能.
EnterpriseServer提供以下配置文件:开发者-如果正在开发环境中运行域,并且应用程序不需要群集功能(例如负载平衡、高可用性和会话复制),请使用此配置文件.
请注意,此配置文件的实际名称为"developer"(区分大小写).
群集-如果要创建向已部署的JavaEE应用程序分配可伸缩性和高可用性的应用服务器实例的群集,请使用此配置文件.
应用程序的状态持久保存在内存中.
请注意,此配置文件的实际名称为"cluster"(区分大小写).
企业-如果需要HADB和NSS,请使用此配置文件.
除非分别安装了HADB和NSS,或者将EnterpriseServer作为JavaEnterpriseSystem(JavaES)的一部分安装,否则此配置文件不可用.
SunGlassFishEnterpriseServer的功能第2章关于SunGlassFishEnterpriseServer9负载平衡增强功能-已向负载平衡插件中添加了数项增强功能.
简而言之,这些增强功能包括:加权循环–已向实例Loadbalancer.
xml文件中添加了名为weight的可选属性.
使用此选项,负载平衡器插件可以根据权重路由请求.
例如,对于每500个请求,100个将转至instance1,400个将转至instance2.
默认权重为100.
可从管理控制台或命令行为每个实例指定权重,服务器domain.
xml针对每个实例都有一个表示权重的属性.
用户自定义的负载平衡器决策-可让用户定义用于负载平衡的自定义逻辑;例如,基于用户身份的重定向和基于mime的负载平衡.
此功能通过由负载平衡器装入的用户自定义共享库实现.
此自定义共享库可实现loadbalancer.
h(位于as-install/lib/install/templates/中)中定义的接口.
管理增强功能-早期版本的EnterpriseServer需要将loadbalancer.
xml文件手动复制到特定服务器的config目录.
EnterpriseServer包括用于在Web服务器和EnterpriseServer之间执行此类复制的推送式自动操作.
负载平衡器本身在服务器的domain.
xml文件中进行配置.
开放源代码和GlassFish社区—Sun在2005年6月启动了GlassFish(http://java.
sun.
com/javaee/glassfish/)社区,目的是开发可实现JavaEE5平台的最新功能和相关企业技术的免费开放源代码的商业级应用服务器.
EnterpriseServer就是基于由Sun的工程师和GlassFish社区开发的源代码.
更新中心支持-EnterpriseServer更新中心提供了自动EnterpriseServer更新,并允许用户轻松访问其他组件.
有关更多信息,请参见第24页中的"使用更新中心".
硬件和软件要求本节列出了在安装SunGlassFishEnterpriseServer产品之前必须满足的要求.
第10页中的"支持的平台"第13页中的"重要修补程序信息"第13页中的"JDK版本"第13页中的"切换到支持的JavaSE版本"第14页中的"ApacheAnt版本"第14页中的"JDBC驱动程序和数据库"第15页中的"使用捆绑的JavaDB数据库"第16页中的"MessageQueue版本"第16页中的"用于负载平衡插件的Web服务器"第16页中的"浏览器"第17页中的"HADB要求和支持的平台"第18页中的"升级EnterpriseServer"第18页中的"其他要求"支持的平台下表列出了SunGlassFishEnterpriseServerv2.
1.
1所兼容的操作系统.
所有受支持的操作系统都是32位,除非另有说明.
64位JDK仅在64位支持的操作系统上受支持.
硬件和软件要求SunGlassFishEnterpriseServerv2.
1.
1发行说明2010年4月10注–该表列出了每个受支持的操作系统的最低要求版本.
此外还支持最低要求版本的服务包更新.
表2–1支持的操作系统操作系统最小内存建议的内存最小磁盘空间建议的磁盘空间JVMSunSolaris9,10(SPARC)Solaris9,10(x86)512MB512MB250MB可用空间500MB可用空间J2SE5.
0JavaSE664位SunSolaris10(SPARC、x86)512MB512MB250MB可用空间500MB可用空间J2SE5.
0JavaSE6RedHatEnterpriseLinux3.
0Update1、4.
0和5.
x512MB1GB250MB可用空间500MB可用空间J2SE5.
0JavaSE664位RedHatEnterpriseLinux5.
x512MB1GB250MB可用空间500MB可用空间J2SE5.
0JavaSE6SUSELinuxEnterpriseServer10(也支持SP1、SP2)512MB1GB250MB可用空间500MB可用空间J2SE5.
0JavaSE664位SUSELinuxEnterpriseServer10(也支持SP1)512MB1GB250MB可用空间500MB可用空间J2SE5.
0JavaSE664位SUSELinuxEnterpriseServer11512MB1GB250MB可用空间500MB可用空间J2SE5.
0JavaSE6UbuntuLinux8.
04,Hardy发行版仅支持作为开发者平台.
512MB1GB250MB可用空间500MB可用空间J2SE5.
0JavaSE6硬件和软件要求第2章关于SunGlassFishEnterpriseServer11表2–1支持的操作系统(续)操作系统最小内存建议的内存最小磁盘空间建议的磁盘空间JVMAIX5.
2、5.
3、6.
1512MB1GB250MB可用空间500MB可用空间J2SE5.
0JavaSE6Windows2000SP4+AdvancedServerSP4+WindowsServer2003、2008WindowsXPProSP3WindowsVistaWindows20081GB2GB500MB可用空间1GB可用空间J2SE5.
0JavaSE6Windows7仅支持作为开发者平台1GB2GB500MB可用空间1GB可用空间J2SE5.
0JavaSE6MacintoshOS10.
4,10.
5(Intel、Power)仅支持作为开发者平台.
512MB512MB250MB可用空间500MB可用空间JavaSE5OpenSolaris仅支持用于评估512MB512MB250MB可用空间500MB可用空间JavaSE5JavaSE6注–建议您在任一MicrosoftWindows平台上运行EnterpriseServer时,使用NTFS文件系统,而不是FAT或FAT32.
在UNIXTM上,可以使用uname命令查看操作系统版本.
可以使用df命令查看磁盘空间.
硬件和软件要求SunGlassFishEnterpriseServerv2.
1.
1发行说明2010年4月12注–虽然不支持MacOS用于生产部署,但支持其用于开发用途.
可以在GlassFish下载页或列出Mac的SDK页中获得有关下载Macintosh操作系统的信息.
例如,在JavaEE5SDKUpdate5下载页面https://cds.
sun.
com/is-bin/INTERSHOP.
enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-StartProductRef=java_ee_sdk-5_05-nojdk-oth-JPR@CDS-CDS_Developer上.
系统虚拟化支持系统虚拟化是一项允许多个操作系统(OperatingSystem,OS)实例在共享硬件上独立执行的技术.
在功能方面,部署到在虚拟化环境中托管的OS的软件通常不知道基础平台已被虚拟化.
Sun在所选择的系统虚拟化和OS组合上执行其SunJavaSystem产品的测试,以帮助验证SunJavaSystem产品是否能够继续在正确调整大小及配置的虚拟化环境中如在非虚拟化环境中一样运行.
重要修补程序信息Solaris修补程序要求建议Solaris10(x86,SPARC)用户安装"Sun推荐的修补程序群集".
可在SunSolve(http://sunsolve.
sun.
com/pub-cgi/show.
pltarget=patchpage)Web站点上的"推荐的修补程序和安全修补程序"下找到该修补程序群集.
JDK版本EnterpriseServer需要的最低(并且经过认证的)JDK版本是1.
5.
0_14.
切换到支持的JavaSE版本如此处所述,可以通过编辑asenv文件切换到支持的JavaSE版本.
如果尚未这样做,请在系统上安装新的JavaSE版本.
可以从http://java.
sun.
com/javase下载JavaSESDK停止EnterpriseServer.
可以使用以下命令行:install_dir/bin/asadminstop-domain或管理控制台:a.
单击"ApplicationServer"节点.
b.
单击"停止实例".
编辑install_dir/config/asenv.
conf文件(在Windows上是asenv.
bat),将AS_JAVA的值更改为指向新的Java主目录.
123硬件和软件要求第2章关于SunGlassFishEnterpriseServer13编辑as-install/samples/common.
properties文件,将行首com.
sun.
aas.
javaRoot.
.
.
更改为引用新的Java主目录.
重新启动ApplicationServer.
可以使用以下命令行:as-install/bin/asadminstart-domain或管理控制台:a.
单击"ApplicationServer"节点.
b.
单击"启动实例".
ApacheAnt版本ApacheAnt1.
6.
5版本已与除UbuntuLinux之外的所有操作系统上的EnterpriseServer进行捆绑.
ApacheAnt1.
7.
0版本已与UbuntuLinux进行捆绑并与EnterpriseServer一同使用.
JDBC驱动程序和数据库表2–2列出了满足JavaEE兼容性要求的数据库和驱动程序.
所有受支持的SunGlassFishEnterpriseServer配置必须至少包含一个来自此表的数据库/驱动程序组合,例如捆绑的JavaDB数据库和驱动程序.
此外,EnterpriseServer支持使用相应的JDBC驱动程序与任何其他DBMS进行JDBC连接.
表2–2兼容JavaEE的JDBC驱动程序JDBC驱动程序供应商JDBC驱动程序类型支持的数据库服务器DerbyNetworkClient类型4Derby10.
2DataDirect3.
6.
x,3.
7.
x(也称为SunJDBC驱动程序)注–SunJDBC驱动程序仅随具备Enterprise配置文件的安装包提供.
类型4Oracle10gOracle9iSybaseASE12.
5,15MSSQL2000、2005DB29.
1DB28.
1、8.
2MySQLConnector/JDriver3.
1类型4MySQL5.
0Oracle10g、11g类型4Oracle10g、Oracle11g-RACPostGres类型48.
1、8.
2.
x一般情况下,EnterpriseServerv2.
1.
1支持符合JavaEE规范的所有JDBC驱动程序.
45硬件和软件要求SunGlassFishEnterpriseServerv2.
1.
1发行说明2010年4月14使用捆绑的JavaDB数据库本节提供使用与EnterpriseServerv2.
1.
1进行了捆绑的JavaDB数据库实现的说明.
JavaDB基于ApacheDerby数据库.
第15页中的"启动和停止JavaDB数据库"第15页中的"JavaDB实用程序脚本"启动和停止JavaDB数据库SunGlassFishEnterpriseServer有以下asadmin命令,用于启动和停止JavaDB网络服务器.
asadminstart-database命令用于启动JavaDB网络服务器实例:asadminstart-database[--dbhost0.
0.
0.
0][--dbport1527][--dbhomepath]主机的默认值为0.
0.
0.
0,这将允许JavaDB在localhost以及IP/主机名接口上侦听.
dbhome属性值为JavaDB数据库的驻留位置.
path默认值为as-install/javadb.
asadminstop-database命令用于关闭正在运行的JavaDB网络服务器实例:asadminstop-database[--dbhost0.
0.
0.
0][--dbport1527]JavaDB实用程序脚本随EnterpriseServer2.
1.
1提供的JavaDB配置包含可以帮助您使用JavaDB的脚本.
as-install/javadb/bin目录中提供了以下脚本供使用:startNetworkServer、startNetworkServer.
bat-用于启动网络服务器的脚本stopNetworkServer、stopNetworkServer.
bat-用于停止网络服务器的脚本ij、ij.
bat-交互式JDBC脚本工具dblook、dblook.
bat-用于查看数据库的所有或部分DDL的脚本sysinfo、sysinfo.
bat-用于显示有关JavaDB环境的版本信息的脚本NetworkServerControl、NetworkServerControl.
bat-为在NetworkServerControlAPI上执行命令提供方法的脚本配置环境以运行JavaDB实用程序脚本确保JAVA_HOME环境变量指定了安装JDK的目录.
将DERBY_HOME环境变量设置为指向as-install/javadb目录.
有关这些实用程序的更多信息,请参见以下Derby文档:Derby工具和实用程序指南(http://db.
apache.
org/derby/docs/10.
1/tools/)Derby服务器和管理指南(http://db.
apache.
org/derby/docs/10.
1/adminguide/)12另请参见硬件和软件要求第2章关于SunGlassFishEnterpriseServer15MessageQueue版本对于基于文件的安装,MessageQueue4.
4随EnterpriseServer一起提供.
(通常)只参照同等版本的MessageQueue代理对作为EnterpriseServer一部分提供的嵌入式SunGlassFishMessageQueue代码进行测试和认证.
这意味着,不支持使用所提供的嵌入式MessageQueue代码来连接到运行其他版本的MessageQueue代码的远程(不是由EnterpriseServer管理)MessageQueue代理.
用于负载平衡插件的Web服务器本节列出了SunGlassFishEnterpriseServer负载平衡插件所支持的Web服务器.
表2–3支持的WebServerWeb服务器版本操作系统1SunJavaSystemWeb服务器(32位)6.
1,7.
0SolarisSPARC9,10Solarisx869,10RedHatEnterpriseLinux3,4,5ApacheWeb服务器(32位)2.
0.
x,2.
2.
xSolarisSPARC9,10Solarisx8610RedHatEnterpriseLinux3,4,5MicrosoftIIS(32位)5.
0+、6WindowsServer20031仅支持32位平台.
浏览器本节列出了SunGlassFishEnterpriseServerv2.
1.
1所支持的浏览器.
表2–4支持的Web浏览器浏览器版本Mozilla1.
7.
12InternetExplorer6.
0ServicePack2,7.
0Firefox2.
x、3.
xSafari3.
x、4.
xNetscape8.
0.
4,8.
1,9.
0,9.
0.
x硬件和软件要求SunGlassFishEnterpriseServerv2.
1.
1发行说明2010年4月16HADB要求和支持的平台除了第10页中的"硬件和软件要求"中列出的要求以外,还需验证系统是否满足下面所列的运行HADB的要求.
第17页中的"支持的平台"第17页中的"HADB服务器主机要求"第17页中的"HADB管理主机要求"第18页中的"HADB客户机主机要求"注–HADB仅与EnterpriseServerv2.
1.
1Enterprise配置文件进行捆绑.
另请注意,系统的Java组件已在JDK5和JDK6上构建和测试.
支持的平台Solaris(SPARC).
–Solaris8MU7、Solaris9MU7、Solaris10RR.
Solaris(x86).
–Solaris9MU7、Solaris10RR.
RedHatEnterpriseLinux.
2.
1U5(仅支持ext2文件系统,不支持ext3).
3.
0U4(同时支持ext2和ext3、4、5.
由于会出现过度交换的问题,建议不要使用U4之前的更新版本.
)请注意,仅在这些32位模式下的操作系统中测试了HADB.
另请注意,HADB不支持以64位模式运行的RedHatEnterpriseLinux3.
0,这是由于该操作系统中的一个错误(有关对HADB的影响的详细信息,请参见第42页中的"高可用性"中的已知错误6249685)所致.
也支持版本4和5.
MicrosoftWindows.
–支持MicrosoftWindows2000AdvancedServerServicePack4和MicrosoftWindows2003EnterpriseEdition、Windows2008、WindowsXPProfessional.
请注意,HADB不支持任何即将推出的64位模式的MicrosoftWindows操作系统版本.
HADB服务器主机要求最小内存—每个节点需要320MB.
最小可用磁盘空间—每个节点的HADB二进制需要70MB.
此外,对于每个节点上的测试安装,数据设备还需要512MB的磁盘空间.
建议的内存—每个节点需要512MB.
建议的可用磁盘空间—每台主机的HADB二进制需要70MB.
此外,对于每个节点上的测试安装,数据设备还需要1200MB的磁盘空间.
注–请确保在存储HADB数据和日志文件的设备上禁用写高速缓存.
默认情况下,在有些Solaris平台上写高速缓存处于启用状态;例如,Solarisx86.
HADB管理主机要求最小内存—128MB最小可用磁盘空间—每台主机的HADB二进制需要70MB.
硬件和软件要求第2章关于SunGlassFishEnterpriseServer17HADB客户机主机要求最小内存—120MB最小可用磁盘空间—20MB升级EnterpriseServer有关从EnterpriseServer的上一版本升级到当前版本的完整说明,请参阅《SunGlassFishEnterpriseServerv2.
1.
1UpgradeGuide》.
其他要求安装SunGlassFishEnterpriseServer软件之前,必须满足以下附加要求.
可用空间:临时目录必须具有至少35MB的可用空间以便安装SunGlassFishEnterpriseServer,以及250MB的可用空间以便安装SDK.
使用卸载程序:如果需要从系统中删除EnterpriseServer,必须使用此软件中包含的卸载程序.
如果尝试使用其他方法,则在试图重新安装同一版本或安装新版本时将出现问题.
可用端口:必须有七个未使用的可用端口.
安装程序将自动检测使用中的端口,并为默认域推荐当前未使用的端口.
默认情况下,初始默认端口如下:8080(用于HTTP);8181(用于HTTPS)3700(用于IIOP);3820(用于IIOP/SSL);3920(用于具有相互验证的IIOP/SSL)4848(HTTP)(用于AdministrationServer)8686(RMI)端口(用于纯JMX客户机)启动以前安装的服务器(UNIX)—除非要替换以前安装的服务器,否则在开始安装SunGlassFishEnterpriseServerv2.
1.
1之前必须先启动以前安装的服务器.
这样,安装程序才能检测到正在使用的端口,从而避免再分配它们用于其他用途.
替换以前安装的服务器(UNIX)—有关从EnterpriseServer的上一版本进行升级的完整说明,请参阅《SunGlassFishEnterpriseServerv2.
1.
1UpgradeGuide》.
关闭防火墙(MicrosoftWindows)-在安装SunGlassFishEnterpriseServer软件之前,必须停止所有防火墙软件,因为默认情况下某些防火墙软件会禁用所有端口.
安装程序必须能够准确确定哪些端口可用.
有关兼容性的更多信息,请参见《SunGlassFishEnterpriseServerv2.
1.
1UpgradeGuide》.
JavaEE5平台APISunGlassFishEnterpriseServerv2.
1.
1支持JavaEE5平台.
下表列出了JavaEE5平台上可用的增强API.
JavaEE5平台APISunGlassFishEnterpriseServerv2.
1.
1发行说明2010年4月18表2–5JavaEE5平台上的主要API更改APIJSRJavaEE5JavaPlatform,EnterpriseEdition5(http://java.
sun.
com/javaee/5/docs/api/)JSR244(http://jcp.
org/aboutJava/communityprocess/pr/jsr244/)Web服务技术ImplementingEnterpriseWebServicesJSR109(http://jcp.
org/en/jsr/detailid=109)JavaAPIforXML-BasedWebServices(JAX-WS)2.
0(https://jax-ws.
dev.
java.
net/)JSR224(http://jcp.
org/en/jsr/detailid=224)JavaAPIforXML-BasedRPC(JAX-RPC)1.
1(https://jax-rpc.
dev.
java.
net/)JSR101(http://jcp.
org/en/jsr/detailid=101)JavaArchitectureforXMLBinding(JAXB)2.
0(https://jaxb.
dev.
java.
net/)JSR222(http://jcp.
org/en/jsr/detailid=222)SOAPwithAttachmentsAPIforJava(SAAJ)(https://saaj.
dev.
java.
net/)JSR67(http://jcp.
org/en/jsr/detailid=67)StreamingAPIforXML(http://java.
sun.
com/webservices/docs/1.
6/tutorial/doc/SJSXP.
html)JSR173(http://jcp.
org/en/jsr/detailid=173)WebServiceMetadatafortheJavaPlatformJSR181(http://jcp.
org/en/jsr/detailid=181)组件模型技术EnterpriseJavaBeans3.
0(http://java.
sun.
com/products/ejb/)JSR220(http://jcp.
org/en/jsr/detailid=220)J2EEConnectorArchitecture1.
5(http://java.
sun.
com/j2ee/connector/)JSR112(http://jcp.
org/en/jsr/detailid=112)JavaServlet2.
5(http://java.
sun.
com/products/servlet/)JSR154(http://jcp.
org/en/jsr/detailid=154)JavaServerFaces1.
2(http://java.
sun.
com/j2ee/javaserverfaces/)JSR252(http://jcp.
org/en/jsr/detailid=252)JavaServerPages2.
1(http://java.
sun.
com/products/jsp/)JSR245(http://jcp.
org/en/jsr/detailid=245)JavaServerPagesStandardTagLibrary1.
2(http://java.
sun.
com/products/jsp/jstl/)JSR52(http://jcp.
org/en/jsr/detailid=52)管理技术J2EE管理(http://java.
sun.
com/j2ee/tools/management/)JSR77(http://jcp.
org/en/jsr/detailid=77)JavaEE5平台API第2章关于SunGlassFishEnterpriseServer19表2–5JavaEE5平台上的主要API更改(续)APIJSRJ2EE应用程序部署(http://java.
sun.
com/j2ee/tools/deployment/)JSR88(http://jcp.
org/en/jsr/detailid=88)JavaAuthorizationContractforContainers(http://java.
sun.
com/j2ee/javaacc/)JSR115(http://jcp.
org/en/jsr/detailid=115)其他JavaEE技术CommonAnnotationsfortheJavaPlatformJSR250(http://jcp.
org/en/jsr/detailid=250)JavaTransactionAPI(JTA)(http://java.
sun.
com/products/jta/)JSR907(http://jcp.
org/en/jsr/detailid=907)JavaBeansActivationFramework(JAF)1.
1(http://java.
sun.
com/products/javabeans/glasgow/jaf.
html)JSR925(http://jcp.
org/en/jsr/detailid=925)JavaMail(http://java.
sun.
com/products/javamail/)JSR919(http://jcp.
org/en/jsr/detailid=919)JavaMessageServiceAPI(http://java.
sun.
com/products/jms/)JSR914(http://www.
jcp.
org/en/jsr/detailid=914)JavaPersistenceAPI(http://java.
sun.
com/j2ee/persistence/faq.
html)JSR220(http://www.
jcp.
org/en/jsr/detailid=220)JavaEE5SDKSunGlassFishEnterpriseServerv2.
1.
1是作为JavaEE5SDK的一部分提供的.
有两个JavaEE5SDK版本:JavaApplicationPlatformSDK(http://java.
sun.
com/javaee/downloads/)JavaEE5SDK(http://java.
sun.
com/javaee/downloads/index.
jsp)此外,您可以随JDK一起下载这些SDK分发.
有关更多信息,请访问下载页面,网址是http://java.
sun.
com/javaee/downloads/index.
jsp.
切换到支持的另一Java版本SunGlassFishEnterpriseServerv2.
1.
1要求使用JavaSE5.
0或更高版本作为基础JVM.
如果要从一个Java版本切换到另一版本,请执行以下常规步骤.
(Windows和Unix)注–使用较新的JavaVM创建了域之后,建议不要降级到较早的Java版本.
如果必须降级JVM,建议在每个域上都执行此操作.
以下过程说明了如何执行此操作.
JavaEE5SDKSunGlassFishEnterpriseServerv2.
1.
1发行说明2010年4月20切换到支持的另一Java版本下载所需的JavaSDK(而非JRE)并将其安装在系统上(如果尚未这样做).
可以从http://java.
sun.
com/j2se下载JavaSDK.
启动要更改其JDK的域:as-install/bin/asadminstart-domaindomain-name登录到管理控制台并更改域的JVM属性.
特别是,可能需要在"JVM设置"页上更改域的JAVA_HOME变量.
或者,可以使用asadmin命令:as-install/bin/asadminset"server.
java-config.
java-home=Path-To-Java-Home"已知的JavaES5兼容性问题在EnterpriseServerv2.
1.
1和JavaES5(JES5)之间,存在两个已知的兼容性问题.
1.
由于EnterpriseServerv2.
1.
1提供的JSF1.
2版本,JES5ServiceRegistry与EnterpriseServerv2.
1.
1不兼容.
需要先将ServiceRegistry升级到JES5u1,然后再将EnterpriseServer升级到2.
1.
1.
此限制也记录在ServiceRegistry文档中.
2.
由于EnterpriseServerv2.
1.
1提供的JSF1.
2版本,JES5PortalServer与EnterpriseServerv2.
1.
1不兼容.
需要先将PortalServer升级到JES5u1,然后再升级到v2.
1.
1.
在PortalServer位于EnterpriseServer8.
2上的JavaES5设置中,将EnterpriseServer8.
2升级到v2.
1.
1会使PortalServer不可用.
EnterpriseServerv2.
1.
1使用JSF1.
2,但PortalServer发行版5中的JSF-Portlet桥不支持JSF1.
2.
在Solaris/Linux上,需要将PortalServer升级到JavaES5Update1.
在Windows上,如果想要继续使用PortalServer发行版5,请不要将EnterpriseServer升级到v2.
1.
1,因为Windows上的JavaES5Update1不支持PortalServer.
WebStack支持您可将EnterpriseServer与SunGlassFishWebStack结合使用,后者预集成和捆绑了ApacheHTTPServer、PHP、Ruby等组件.
有关SunGlassFishWebStack的更多信息,请参见http://www.
sun.
com/software/webstack/index.
xml通过使用以SunJavaSystemWebServer、ApacheWebServer和MicrosoftIIS作为前端的负载平衡器插件,EnterpriseServer提供了负载平衡支持.
为EnterpriseServer提供前端的另一种技术是使用Apachehttpd和mod_jk连接器.
123WebStack支持第2章关于SunGlassFishEnterpriseServer21使用Apachehttpd和mod_jk作为EnterpriseServer前端创建EnterpriseServer群集.
按以下方式定义下列JVM选项:asadmincreate-jvm-options--target群集名称"-DjvmRoute=\${AJP_INSTANCE_NAMEasadmincreate-jvm-options--target群集名称"-Dcom.
sun.
enterprise.
web.
connector.
enableJK=\${AJP_PORT}使用以下命令,为群集中的每个实例配置JVM选项AJP_PORT和AJP_INSTANCE_NAME:asadmincreate-system-properties--target实例名称AJP_INSTANCE_NAME=实例名称asadmincreate-system-properties--target实例名称AJP_PORT=端口号重新启动群集安装Apachehttpd.
Apachehttpd可从http://httpd.
apache.
org/download.
cgi获取安装mod_jk.
mod_jk连接器可从http://www.
apache.
org/dist/tomcat/tomcat-connectors/jk/binaries/获取将以下行添加到mof_jk.
so文件中:LoadModulejk_modulepath_to_mod_jk.
soJkWorkersFile/etc/apache2/worker.
properties#WheretoputjklogsJkLogFile/var/log/httpd/mod_jk.
log#Setthejkloglevel[debug/error/info]JkLogLeveldebug#SelectthelogformatJkLogStampFormat"[%a%b%d%H:%M:%S%Y]"#JkRequestLogFormatsettherequestformatJkRequestLogFormat"%w%V%T"#SendalljsprequeststoGlassFishJkMount/*.
jsploadbalancer.
创建新文件/etc/apache2/worker.
properties,并添加以下行:#Define1realworkerusingajp13worker.
list=loadbalancer#Setpropertiesforinstance112345678WebStack支持SunGlassFishEnterpriseServerv2.
1.
1发行说明2010年4月22worker.
instance1.
type=ajp13worker.
instance1.
host=localhostworker.
instance1.
port=9090worker.
instance1.
lbfactor=50worker.
instance1.
cachesize=10worker.
instance1.
cache_timeout=600worker.
instance1.
socket_keepalive=1worker.
instance1.
socket_timeout=300#Setpropertiesforinstance2worker.
instance2.
type=ajp13worker.
instance2.
host=localhostworker.
instance2.
port=9091worker.
instance2.
lbfactor=50worker.
instance2.
cachesize=10worker.
instance2.
cache_timeout=600worker.
instance2.
socket_keepalive=1worker.
instance2.
socket_timeout=300#Setpropertiesforinstance3worker.
instance3.
type=ajp13worker.
instance3.
host=localhostworker.
instance3.
port=9092worker.
instance3.
lbfactor=50worker.
instance3.
cachesize=10worker.
instance3.
cache_timeout=600worker.
instance3.
socket_keepalive=1worker.
instance3.
socket_timeout=300worker.
loadbalancer.
type=lbworker.
loadbalancer.
balance_workers=instance1,instance2,instance3将Apache5.
5.
x安装中的tomcat-ajp.
jar文件复制到EnterpriseServerlib目录.
从JakartaCommons网站复制commons-logging.
jar(版本1.
1.
1)和commons-modeler.
jar(版本2.
0.
1)文件,该网站地址为http://commons.
apache.
org.
重新启动群集并启动httpd并非所有操作系统都支持的功能对于EnterpriseServer的某些功能,不是所有操作系统都支持.
下面的各节提供了有关这些功能的详细信息.
AIX操作系统不支持的功能如果您使用的是AIX操作系统,则以下限制适用:91011并非所有操作系统都支持的功能第2章关于SunGlassFishEnterpriseServer23仅对于使用开发者配置文件或群集配置文件创建的域,AIX操作系统才支持EnterpriseServerv2.
1.
1.
AIX操作系统不支持企业配置文件,因为AIX操作系统不支持HADB和NSS.
对于AIX操作系统,本地启动器不可用.
Linux操作系统不支持的功能如果您使用的是Linux操作系统,则以下限制适用:对于64位JVM上的SUSELinux64位操作系统和RHEL64位操作系统,本地应用服务器启动器不可用.
请改用32位JVM.
对于64位JVM上的SUSELinux64位操作系统和RHEL64位操作系统,安装程序不可用.
请改用32位JVM.
以下平台不支持企业配置文件:注–有关受支持的配置文件的说明,请参见《SunGlassFishEnterpriseServerv2.
1.
1AdministrationGuide》中的"UsageProfiles".
RedHatEnterpriseLinux64位操作系统和64位JVMSUSELinux64位操作系统和64位JVMUbuntu操作系统不支持的功能如果您使用的是UbuntuLinux操作系统,则以下限制适用:由于EnterpriseServerv2.
1.
1已与UbuntuLinux操作系统进行捆绑,因此EnterpriseServerv2.
1.
1文档集中的安装信息与该操作系统无关.
UbuntuLinux操作系统不支持企业配置文件,因为UbuntuLinux操作系统不支持HADB和NSS.
SunGlassFishEnterpriseManagerSunGlassFishEnterpriseManager提供了生产性SunGlassFishEnterpriseServerv2.
1.
1部署经过改进的管理和性能可见性.
它还使IT能够缩短部署时间,优化性能并排除性能故障,在潜在问题发生之前加以解决.
有关更多详细信息,请参见http://www.
sun.
com/software/products/appsrvr/ent_manager.
jsp使用更新中心更新中心提供自动的EnterpriseServer更新,使用户可以轻松访问其他组件.
更新中心启用后,便会执行自动软件更新.
在此自动更新过程中,更新中心将收集以下数据并将其传送给SunMicrosystems(或其服务提供者):唯一安装ID(UniqueinstallationID,GUID)SunGlassFishEnterpriseManagerSunGlassFishEnterpriseServerv2.
1.
1发行说明2010年4月24IP地址操作系统信息(名称、版本、体系结构、语言环境)JDK版本模块下载信息(模块名称、日期、时间、状态、下载时间、已下载的字节数)将不会跟踪个人识别信息.
也不会将个人识别信息与其他任何数据关联,或用于生成报告.
使用更新中心为确保明确同意使用自动更新,默认情况下禁用更新中心.
要启用更新中心以执行定期检查和自动更新,请执行以下操作:启动更新中心.
在Unix上:/updatecenter/bin/updatetool在Windows上:\updatecenter\bin\updatetool.
bat选择"首选项"选项卡.
在"更新计划"窗口中,将"检查更新"下拉框的值从"从不(手动)"更改为所需的值.
例如,每天或每周.
指定需要在每周的哪天以及每天的什么时间进行更新.
选择"保存"按钮以保存更改.
更新中心现在将根据指定的计划,自动检查EnterpriseServer组件的更新.
当更新可用时,更新中心将启动,并通知您可进行更新的组件.
在Ubuntu操作系统上升级EnterpriseServer在UbuntuLinux操作系统上,安装GlassFishv2不会覆盖现有的GlassFishv1安装.
/usr/bin中的asadmin脚本可用于管理GlassFishv2.
要管理GlassFishv1,请使用其本地/usr/share/sunappserver/bin中的asadmin实用程序.
要将v1域升级到v2,请使用位于/usr/share/glassfishv2/bin中的asupgrade工具.
使用全局asadmin脚本启动v1域将自动调用该升级工具.
不过,这会产生一个错误,该错误是由错误使用其他(非Ubuntu)平台的服务器的默认域位置而造成的.
要避免该错误,请使用asupgrade工具.
12345在Ubuntu操作系统上升级EnterpriseServer第2章关于SunGlassFishEnterpriseServer25启用多级关系预取CMP2.
1实体bean支持多级关系预取.
要启用多级关系预取,请设置以下属性:-Dcom.
sun.
jdo.
spi.
persistence.
support.
sqlstore.
MULTILEVEL_PREFETCH=true有关关系预取的更多信息,请参见《SunGlassFishEnterpriseServerv2.
1.
1Developer'sGuide》中的"RelationshipPrefetching".
有关WSIT集成的更多信息有关WSIT状态的详细信息,请参阅WSIT状态注释(https://wsit.
dev.
java.
net/source/browse/*checkout*/wsit/wsit/status-notes/status-notes-1-0-1-FCS.
html)页.
有关将WSIT用于EnterpriseServer的信息,另请参阅《TheWSITTutorial》.
启用多级关系预取SunGlassFishEnterpriseServerv2.
1.
1发行说明2010年4月26已知问题和限制本章介绍有关SunGlassFishEnterpriseServerv2.
1.
1软件的已知问题和相应的解决方法.
如果汇总说明未指明特定平台,则所有平台都可能出现此问题.
本部分信息按以下内容进行组织:第27页中的"管理"第37页中的"Apache和负载平衡器插件"第38页中的"应用程序客户机"第39页中的"捆绑的SunJDBC驱动程序"第41页中的"部署"第41页中的"文档"第42页中的"EJB"第42页中的"高可用性"第50页中的"安装"第54页中的"JavaEE教程"第54页中的"Java持久性"第55页中的"生命周期管理"第56页中的"日志记录"第57页中的"MessageQueue"第58页中的"监视"第59页中的"打包"第59页中的"样例"第60页中的"安全性"第62页中的"升级"第65页中的"Web容器"第69页中的"Web服务器"第69页中的"Web服务"管理本节介绍已知的管理问题和相应的解决方法.
3第3章27EnterpriseServer不检测与群集的心跳端口的冲突(问题编号1967)描述创建群集时,EnterpriseServer会随机分配一个介于1026到45556之间的心跳端口.
对于默认群集(由EnterpriseServer安装创建的默认群集),会在0到45556之间选择一个随机数.
群集创建过程不会精确检测心跳端口是否正被另一个服务使用.
解决方法如果自动群集创建配置选择了一个心跳端口,该端口与正在使用它的另一个服务冲突,请将群集心跳端口更新为系统未使用的端口.
要更改群集的心跳端口,请使用下面的asadmin命令:asadminset群集名称.
heartbeat-port=新端口号域创建操作在运行64位Linux的NFS服务器上停止(问题编号1961)描述当尝试在安装了网络文件系统(NFS)的文件系统(NFS服务器运行64位Linux)上创建域时,asadmincreate-domain命令可能会失败.
解决方法没有已知的解决方法.
轮转大型日志文件时发现性能下降(6718611)描述在轮转大型日志文件时,发现响应时间稍有增加.
解决方法可以通过修改日志程序设置中的"文件轮转限制"和"文件轮转时间限制"值,最大程度地减少性能降低情况.
这些属性的值取决于您的应用程序和环境.
无法对IBMMQ部署通用RA资源适配器(问题6605)说明对IBMMessageQueue产品部署通用RA适配器失败.
server.
policy文件中授予的权限如下所示.
grant{permissionjava.
util.
logging.
LoggingPermission"control";permissionjava.
util.
PropertyPermission"*","read,write";}管理SunGlassFishEnterpriseServerv2.
1.
1发行说明2010年4月28解决方法将server.
policy文件中的权限更改为如下所示:grantcodeBase"file:${com.
sun.
aas.
installRoot}/lib/install/applications/adminapp/-"{permissionjava.
util.
logging.
LoggingPermission"control";};独立实例有时会从其他实例获取文件(6698604)说明在某些情况下,安装在DAS上的预期要与特定实例同步的文件实际上会发送到其他实例.
解决方法没有已知的解决方法.
来自start-cluster命令的启动消息太详细(6728317)说明即使在启动过程中非关键组件失败,asadminstart-cluster命令也会显示过多消息.
请参见非关键元素(与群集中的实例相关)失败时的以下示例命令输出:.
/asadminstart-cluster--port9898cluster1Pleaseentertheadminusername>adminPleaseentertheadminpassword>Theclusteredinstance,instance2,wassuccessfullystarted.
error0[#|2008-07-17T14:58:16.
496+0200|WARNING|sun-appserver9.
1|javax.
jms|_ThreadID=10;_ThreadName=main;_RequestID=90bbbe3a-d654-4480-b295-7e317d945a4a;|[C4003]:Erroroccurredonconnectioncreation[localhost:37676].
-cause:java.
net.
ConnectException:Connectionrefused|#]error1[#|2008-07-17T14:58:17.
517+0200|WARNING|sun-appserver9.
1|javax.
jms|_ThreadID=10;_ThreadName=main;_RequestID=90bbbe3a-d654-4480-b295-7e317d945a4a;|[C4003]:Erroroccurredonconnectioncreation[localhost:37676].
-cause:java.
net.
ConnectException:Connectionrefused|#]error2[#|2008-07-17T14:58:30.
596+0200|WARNING|sun-appserver9.
1|javax.
enterprise.
system.
container.
ejb|_ThreadID=13;_ThreadName=pool-1-thread-4;TimerBean;管理第3章已知问题和限制29_RequestID=5954a044-df06-4a3e-902a-0c40b4b6cddb;|EJB5108:UnabletoinitializeEJBTimerService.
Thelikelycauseisthedatabasehasnotbeenstartedorthetimerdatabasetablehasnotbeencreated.
|#]error3[#|2008-07-17T14:58:32.
512+0200|WARNING|sun-appserver9.
1|javax.
enterprise.
resource.
resourceadapter|_ThreadID=10;_ThreadName=main;__CallFlowPool;_RequestID=90bbbe3a-d654-4480-b295-7e317d945a4a;|RAR5005:ErrorinaccessingXAresourcewithJNDIname[__CallFlowPool]forrecovery|#]Theclusteredinstance,instance1,wassuccessfullystarted.
error0[#|2008-07-17T14:58:21.
117+0200|WARNING|sun-appserver9.
1|javax.
enterprise.
system.
container.
ejb|_ThreadID=13;_ThreadName=pool-1-thread-4;TimerBean;_RequestID=30827d9a-72ac-4854-b216-06494b6a9fb5;|EJB5108:UnabletoinitializeEJBTimerService.
Thelikelycauseisthedatabasehasnotbeenstartedorthetimerdatabasetablehasnotbeencreated.
|#]error1[#|2008-07-17T14:58:23.
106+0200|WARNING|sun-appserver9.
1|javax.
enterprise.
resource.
resourceadapter|_ThreadID=10;_ThreadName=main;__CallFlowPool;_RequestID=b41d76fa-0203-49f7-a2ae-83bf242d3e7a;|RAR5005:ErrorinaccessingXAresourcewithJNDIname[__CallFlowPool]forrecovery|#]Commandstart-clusterexecutedsuccessfully.
解决方法没有已知的解决方法.
可忽略这些(异常)消息.
无法对IBMMQ部署通用RA资源适配器(问题6605)说明对IBMMessageQueue产品部署通用RA适配器失败.
server.
policy文件中授予的权限如下所示.
grant{permissionjava.
util.
logging.
LoggingPermission"control";permissionjava.
util.
PropertyPermission"*","read,write";}解决方法将server.
policy文件中的权限更改为如下所示:管理SunGlassFishEnterpriseServerv2.
1.
1发行说明2010年4月30grantcodeBase"file:${com.
sun.
aas.
installRoot}/lib/install/applications/adminapp/-"{permissionjava.
util.
logging.
LoggingPermission"control";};如果domain1不存在,package-appclient脚本无法运行(6171458)说明默认情况下,在as-install/lib/package-appclient.
xml中有一个用于domain1(由asenv.
conf来指向)的AS_ACC_CONFIG变量的硬编码值.
如果删除domain1并创建新域,将不会用新域名更新AS_ACC_CONFIG变量,从而导致package-appclient脚本失败.
解决方法执行以下操作之一:1.
保持domain1不变,围绕它创建其他域.
2.
删除domain1并用新域名替换as-install/lib/package-appclient.
xml中用于domain1的硬编码值.
如果domain1不存在,则每次创建新域时,都必须执行此操作.
不支持使用其他JMX代理启动服务器(6200011)说明J2SE1.
4.
x、5.
0或更高版本可以在服务器上进行配置.
J2SE5.
0平台的完整功能是可以启动JMX代理.
在服务器启动时,如果您明确设置了系统属性,此功能将被激活.
示例值包括:name="com.
sun.
management.
jmxremote"value="true"name="com.
sun.
management.
jmxremote.
port"value="9999"name="com.
sun.
management.
jmxremote.
authenticate"value="false"name="com.
sun.
management.
jmxremote.
ssl"value="false"在配置了JMX属性并启动服务器之后,将在虚拟机中启动新的jmx-connector服务器.
此过程的副作用是会对管理功能造成不利影响,并且管理控制台和命令行界面可能会产生异常结果.
出现此问题的原因在于内置jmx-connector服务器与新的jmx-connector服务器之间存在一些冲突.
解决方法如果使用jconsole(或任何其他JMX兼容客户机),请考虑重新使用标准的JMXConnectorServer,它在服务器启动时启动.
当服务器启动时,server.
log中会出现类似于如下所示的一行.
您可以连接到其中指定的JMXServiceURL,并在成功提供证书后执行相同的管理/配置操作,例如:管理第3章已知问题和限制31[#|2004-11-24T17:49:08.
203-0800|INFO|sun-appserver-ee8.
1|javax.
enterprise.
system.
tools.
admin|_ThreadID=10;|ADM1501:HereistheJMXServiceURLfortheJMXConnectorServer:[service:jmx:rmi:///jndi/rmi://hostname:8686/management/rmi-jmx-connector].
ThisiswheretheremoteadministrativeclientsshouldconnectusingtheJSR160JMXConnectors.
|#]有关更多信息,请参阅《SunGlassFishEnterpriseServerv2.
1.
1AdministrationGuide》.
无法使用任一Web服务的端点URL创建负载平衡器配置文件(6236544、6275436)说明如果某个应用程序具有可导出Web服务URL的EJB模块,则在用该应用程序设置负载平衡器配置时,Web服务环境中的超级用户不会包含在结果文件loadbalancer.
xml中.
解决方法1.
编辑loadbalancer.
xml文件,按如下所示添加缺少的Web模块:2.
用作为EJB提供的Web服务环境中的超级用户名称替换context-root-name的值.
EnterpriseServer文档中未介绍.
asadmintruststore文件(6315957)说明EnterpriseServer文档中未介绍.
asadmintruststore文件.
如果服务器管理员的主目录中不包含此文件,在升级该服务器上的某些应用程序时可能会出现严重错误.
解决方法如果可能,应该由安装服务器的用户运行asadminstart-domaindomain1命令.
如果不是由该用户运行的,应将.
asadmintruststore从安装用户的主目录移动或复制到运行用户的主目录中.
请注意,如果将该文件从安装用户的主目录移动(而非复制)到运行用户的主目录,可能会出现错误6309079、6310428和6312869所述的应用程序升级问题,原因是升级/安装用户(通常是JavaES中的超级用户)的主目录中不再具有.
asadminstruststore文件.
由于在访问JMS代理时超时,无法启动群集实例(6523663)说明EnterpriseServer群集实例的默认MQ集成模式为LOCAL.
如果将EnterpriseServer安装在长(即"notshort")位置(PATH)上,当群集实例启动时,imqbrokerscv.
exe会崩溃.
此问题是imqbrokersvc中的内存分配问题.
管理SunGlassFishEnterpriseServerv2.
1.
1发行说明2010年4月32解决方法必须将群集实例的JMS服务类型从默认的LOCAL更改为REMOTE.
在此配置中,所有实例都指回DAS代理.
请遵照下面的说明,以REMOTE模式配置群集.
注–使用REMOTE模式时,所有实例都使用一个代理(DAS),因此当EnterpriseServer群集启动时,不会创建任何代理群集.
有关更多信息,请参见http://www.
glassfishwiki.
org/gfwiki/attach/OnePagersOrFunctionalSpecs/as-mq-integration-gfv2.
txt一页上4.
1节第iii部分中的"自动群集".
上述功能将不可用!
使用命令行根据您的环境修改端口和密码文件.
请注意,在以下说明中,群集名称为racluster,DAS管理端口为5858,DASJMS端口为7676.
修改群集配置,将JMS类型更改为REMOTE.
as-install/bin/asadmin.
batset--port5858--useradmin--passwordfile\as-install/bin/password_fileracluster.
jms-service.
type=REMOTE创建对应于DASJMS主机的JMS主机.
as-install/bin/asadmin.
batcreate-jms-host--port5858--useradmin--passwordfile\as-install/bin/password_file--targetracluster--mqhostlocalhost--mqport7676\--mquseradmin--mqpasswordadmindashost将默认的JMS主机设置为在上一步骤中创建的DASJMS主机.
as-install/bin/asadmin.
batset--port5858--useradmin--passwordfile\as-install/bin/password_fileracluster.
jms-service.
default-jms-host=dashost使用管理GUI转至"配置"->"cluster-name-config"->"Java消息服务"->"JMS主机".
单击"新建"以创建新的JMS主机,将其命名为dashost.
输入对应于DASJMS服务的配置设置,默认设置如下所示:主机名:localhost端口:7676管理员用户:admin密码:admin根据您的DASJMS服务修改这些设置.
导航回"Java消息服务"选项卡,并将JMS服务类型更改为REMOTE(默认为LOCAL).
开始之前1231234管理第3章已知问题和限制33从"default-jms-host"下拉式列表中,选择"dashost".
保存更改,然后启动节点代理或群集.
无法在Netscape8.
1.
3、Mozilla1.
7和Safari2.
0.
4浏览器中显示jmaki图表(6543014)说明当尝试使用某些不支持的浏览器显示"日志统计信息监视"页中的图表时,可能会抛出以下错误:Errorloadingjmaki.
widgets.
jmaki.
charting.
line.
Widget:id=form1:jmaki_chart11Script:http://easqelx5.
red.
iplanet.
com:4848/resources/jmaki/charting/\line/component.
js(line:5437).
Message:area.
initializeisnotafunction解决方法使用支持的浏览器.
有关EnterpriseServerv2.
1.
1支持的浏览器的列表,请参阅第16页中的"浏览器".
默认端口在每个AS主要发行版中都有所不同(6566481)说明默认管理端口已在过去三个主要EnterpriseServer发行版中都有所不同.
具体而言,7.
x、8.
x和9.
x中的默认管理端口如下所示:AS7.
x:4848AS8.
x:4849AS9.
x:4848解决方法这不是错误,但是一个需要注意的事项.
默认管理端口只是一个建议端口.
希望在以后的EnterpriseServer版本中将保留默认4848端口.
在AIX中使用自定义主密码时create-domain命令失败(6628170)说明在AIX操作系统上,尝试使用自定义主密码创建域失败,同时显示以下错误:keytoolerror(likelyuntranslated):java.
lang.
NullPointerExceptionEnterkeystorepassword:Newkeystorepassword:56管理SunGlassFishEnterpriseServerv2.
1.
1发行说明2010年4月34解决方法:(AIX)使用自定义主密码创建域注–在接下来的过程中,仅提供每个步骤所要求的选项.
如果您需要命令的其他选项,请在命令中指定这些选项.
有关EnterpriseServer命令的信息,请参见《SunGlassFishEnterpriseServerv2.
1.
1ReferenceManual》.
创建包含以下代码行的shell脚本:#!
/bin/shchangeKeystorePass(){keytool-storepasswd-keystore${KEYSTORE}-storepass${OLD}-new${NEW}}changeTruststorePass(){keytool-storepasswd-keystore${TRUSTSTORE}-storepass${OLD}-new${NEW}}changeKeyPass(){keytool-keypasswd-aliass1as-keystore${KEYSTORE}-storepass${NEW}-keypass${OLD}-new${NEW}}changeDomainPasswordEntry(){keytool-storepasswd-storetypeJCEKS-keystore${DOMAINPASSWORDS}-storepass${OLD}-new${NEW}}deleteMasterPasswordFile(){if[-f${DOMAIN_PATH}/master-password];thenechoDeleting${DOMAIN_PATH}/master-passwordrm-f${DOMAIN_PATH}/master-passwordfi}DOMAIN_PATH=$1OLD=$2NEW=$3if[$#!
=3];thenechoUsage:$0domain-pathold-master-passnew-master-passexit1fiechoProcessing.
.
.
if[!
-f${DOMAIN_PATH}/config/domain.
xml];thenecho"Domainwithfolder${DOMAIN_PATH}doesnotexist,createitfirst"exit2elseKEYSTORE=${DOMAIN_PATH}/config/keystore.
jksTRUSTSTORE=${DOMAIN_PATH}/config/cacerts.
jksDOMAINPASSWORDS=${DOMAIN_PATH}/config/domain-passwordschangeKeystorePasschangeTruststorePasschangeKeyPasschangeDomainPasswordEntrydeleteMasterPasswordFilefi1管理第3章已知问题和限制35创建域,同时指定默认主密码.
aadmincreate-domain{--adminportaminportno|--portbaseportbase}domain-namePleaseentertheadminusername>admin-userPleaseentertheadminpassword>admin-user-passwordPleaseentertheadminpasswordagain>admin-user-passwordPleaseenterthemasterpassword[Entertoacceptthedefault]:>Pleaseenterthemasterpasswordagain[Entertoacceptthedefault]:>默认主密码为changeit.
更改您刚创建的域的主密码.
要更改主密码,请运行在步骤1中创建的脚本.
script-namedomain-pathold-passwordnew-password启动在步骤2中创建的域.
asadminstart-domaindomain-name由于域具有自定义主密码,因此系统将提示您输入主密码.
键入新的主密码作为对提示的响应.
对于配置为支持群集的域,创建并启动节点代理.
a.
为在步骤2中创建的域创建节点代理.
asadmincreate-node-agent--portportno--useradmin-userb.
启动在步骤a中创建的节点代理.
asadminstart-node-agent由于域具有自定义主密码,因此系统将提示您输入主密码.
c.
键入新的主密码作为对提示的响应.
以下EnterpriseServer手册页:create-domain(1)create-node-agent(1)start-domain(1)start-node-agent(1)23456另请参见管理SunGlassFishEnterpriseServerv2.
1.
1发行说明2010年4月36AIX:0403-027参数列表过长(6625591)说明在AIX操作系统上,某些与OS相关的操作可能失败并显示以下错误:0403-027Theparameterlististoolong与OS相关的操作示例包括部署应用程序和运行应用程序客户机容器.
此问题通常是由CLASSPATH环境变量中的长文件路径引起的.
解决方法使用以下解决方法之一:增加命令行的最大长度.
有关更多信息,请参见第37页中的"(AIX)增加命令行的最大长度".
使用xargs命令构造参数列表并启动该命令.
xargs命令允许命令超过命令行的最大长度.
(AIX)增加命令行的最大长度ncargs属性决定命令行(包括环境变量)的最大长度.
在AIX操作系统上,ncargs属性的默认值为4个4千字节块.
要确保EnterpriseServer命令不超过命令行的最大长度,请将该值增加到16个4千字节块.
注–更改ncargs属性的值后,无需重新引导或刷新守护进程.
确定ncargs属性的值.
lsattr-EH-lsys0|grepncargs如果ncargs属性的值小于16个4千字节块,请将该值增加到16.
chdev-lsys0-ancargs=16Apache和负载平衡器插件本节介绍ApacheWeb服务器和负载平衡器插件的已知问题和相应的解决方法.
负载平衡插件不能捕获以EJB作为Web服务的JavaEE应用程序的部署(问题685)说明当您部署任何带有基于Servlet的Web服务的WAR(或EAR)时,系统会以有关该Web服务的信息来更新HTTP负载平衡器.
部署基于EJB的Web服务时,HTTP负载平衡器的配置不会进行更新来反映出新对象.
12Apache和负载平衡器插件第3章已知问题和限制37解决方法手动将这些上下文根添加到负载平衡器配置文件(loadbalancer.
xml).
但是,(使用自动应用功能)对负载平衡器配置进行动态重新配置会导致之前所做的手动编辑丢失.
关闭DAS中的自动应用功能,改用手动导出功能来编辑负载平衡器配置并将其应用到Web服务器.
《高可用性管理指南》中不包含使用Apache2.
0证书的说明(6307976)要运行Apache安全性,就必须使用证书.
有关从证书授权机构获取证书的说明,请参见modssl常见问题(http://www.
modssl.
org/docs/2.
8/ssl_faq.
html#ToC24)中关于证书的信息.
必须以超级用户的身份启动ApacheWeb服务器(6308021)在Solaris上,如果ApplicationServer由超级用户安装,则必须以超级用户的身份启动ApacheWeb服务器.
必须以超级用户的身份来安装JavaEnterpriseSystem软件.
对于Apache2.
0,在以超级用户的身份启动后,Apache会切换到您指定的另一用户并以该用户的身份运行.
可在/conf/httpd.
conf文件中指定该用户.
要以超级用户的身份启动,在很多系统中都必须编辑httpd.
conf文件以指定正确的组.
将行:Group#-1替换为:Groupnobody有关用户/组使用的信息包含在httpd.
conf文件中.
应用程序客户机本节介绍已知的应用程序客户机问题和相应的解决方法.
封装在应用程序客户机归档文件中的库JAR将覆盖MANIFEST文件(6193556)说明如果在您的客户机JAR中具有顶层JAR文件(在此情况下,为reporter.
jar),则当您部署客户机JAR时,该JAR的MANIFEST文件将覆盖客户机JAR的MANIFEST文件.
解决方法目前尚无解决方法.
ACC始终尝试连接到localhost:3700(6527987)说明应用程序客户机始终尝试连接到localhost:3700.
问题在于在调用客户机代码之前,需要读取多个系统属性.
应用程序客户机SunGlassFishEnterpriseServerv2.
1.
1发行说明2010年4月38解决方法将以下各项设置为系统属性(JAVA_CMD中的-D).
请勿在应用程序客户机代码中设置它们:org.
omg.
CORBA.
ORBInitialHost=server-instance-hostorg.
omg.
CORBA.
ORBInitialPort=server-instance-port无法启动域,缺少sunpkcs11.
jar(6571044)说明如果在64位Linux上运行,则启动域时,会出现以下异常.
问题在于jdk1.
5.
0_11/jre/lib/ext/下缺少sunpkcs11.
jar.
解决方法这是64位Linux中的已知JDK错误,将在JDK1.
5.
0_13中得以修正.
ASQuickStartup中断了SocketChannel.
keyFor(),返回null而不是SelectionKey(问题跟踪器3027)说明在多个选择器上注册SocketChannel时,执行socketChannel.
keyFor(lastRegisteredSelector)会返回null而不是SelectionKey.
解决方法此问题与JDK错误(6562829)相关,希望在6.
0U3中得以修正.
EnterpriseServer2.
1中已包括解决方法,因此,在调用keyForAPI之前打开选择器.
这样可使keyFor继续作用,直至JDK错误得以修正.
捆绑的SunJDBC驱动程序本节介绍已知的捆绑的SunJDBC驱动程序问题和相应的解决方法.
PreparedStatement错误(6170432)描述1如果应用程序在一个事务中生成3000个以上PreparedStatement对象,DB2可能会发生以下错误:[sunm][DB2JDBC驱动程序]不再有可用语句.
请使用更大的dynamicSections值重新创建软件包.
捆绑的SunJDBC驱动程序第3章已知问题和限制39解决方法1将以下属性添加到连接池定义中,以使驱动程序可以重新绑定具有较大动态段值的DB2软件包:createDefaultPackage=truereplacePackage=truedynamicSections=1000有关配置连接池的详细信息,请参见《SunGlassFishEnterpriseServerv2.
1.
1AdministrationGuide》.
描述2可能抛出的与上述PrepardStatement错误相关的另一条错误消息为:[sunm][DB2JDBC驱动程序][DB2]虚拟存储或数据库资源不可用.
解决方法2增大DB2服务器的配置参数APPLHEAPSZ.
最佳值为4096.
描述3隔离级别为TRANSACTION_SERIALIZABLE.
如果应用程序使用隔离级别TRANSACTION_SERIALIZABLE并使用上面建议的某个参数,该应用程序可能会在获取连接时挂起.
解决方法3要为连接设置所需的隔离级别,必须以同一隔离级别创建相应的连接池.
有关说明,请参见《SunGlassFishEnterpriseServerv2.
1.
1AdministrationGuide》.
重新引导计算机或启动服务器之后,无法启动JavaDB(6515124)说明重新引导主机系统或Solaris区域或者启动EnterpriseServer之后,捆绑的JavaDB数据库无法自动重新启动.
这不是错误,而是任何捆绑的应用程序或第三方应用程序的预期行为.
问题在于必须在EnterpriseServer实例之前启动JavaDB.
解决方法重新引导主机或Solaris区域之后,请务必在启动EnterpriseServer之前启动JavaDB,例如:/opt/SUNWappserver/appserver/bin/asadminstart-database有关asadmin命令选项的更多信息,请参阅《SunGlassFishEnterpriseServerv2.
1.
1QuickStartGuide》中的《SunGlassFishEnterpriseServerv2.
1.
1QuickStartGuide》中的"AdministrationTools".
捆绑的SunJDBC驱动程序SunGlassFishEnterpriseServerv2.
1.
1发行说明2010年4月40部署在群集上,自动部署有时失败(6610527)说明在配置为支持群集的域中,计时问题有时会导致自动部署失败.
在不支持群集的域中未发现此问题.
解决方法使用以下解决方法之一:按以下方法使用自动部署:按顺序自动部署各个应用程序.
在各个应用程序的自动部署之间引入延迟.
使用管理控制台GUI或命令行手动部署应用程序.
捆绑的ANT抛出java.
lang.
NoClassDefFoundError(6265624)说明线程"main"中会抛出以下异常:java.
lang.
NoClassDefFoundError:org/apache/tools/ant/launch/Launcher.
解决方法建议不要对EnterpriseServer外的对象使用捆绑的ANT.
JSP编译不使用特定于应用程序的类加载器(6693246)说明JSP编译不使用特定于应用程序的类加载器(applibs或--libraries).
因此,引用这些JAR的JSP无法进行编译.
解决方法没有已知的解决方法.
文档本节介绍已知的文档问题和相应的解决方法.
Javadoc不一致(各种ID)缺少多个AMX接口和方法的Javadoc或该Javadoc不正确:ConnectorConnectionPoolStats和AltJDBCConnectionPoolStats中缺少用于获取NumConnAcquired和NumConnReleased统计信息的getter方法.
这些getter方法将以getNumConnAcquired()和getNumConnReleased()的形式添加到将来的版本中.
文档第3章已知问题和限制41在EJBCacheStats中调用以下方法时将抛出异常:getPassivationSuccesses()、getExpiredSessionsRemoved()、getPassivationErrors()和getPassivations().
在以后的版本中将修复此问题.
服务器启动后,可能需要几秒钟才能注册和使用所有的AMXMBean.
在以后的版本中,将可以确定完全装入AMXMBean的时间.
常量XTypes.
CONNNECTOR_CONNECTION_POOL_MONITOR的拼写有误("NNN").
在以后的版本中将纠正此问题.
EJBResouceInjection在HandlerChain中不起作用(6750245)说明EJB初始化顺序导致ResouceInjection在HandlerChain中不起作用.
解决方法没有已知的解决方法.
高可用性本节介绍已知的高可用性数据库(HADB)问题和相应的解决方法.
负载平衡器插件运行状况检查在后台(负载)生成大量连接/断开连接操作(6453946)说明负载平衡器插件运行状况检查在后台(负载)生成大量连接/断开连接操作.
为了进行运行状况检查,一个runDaemonMonitor线程会针对每个应用服务器侦听器执行连接/断开连接操作.
这会导致EnterpriseServer上出现连接饱和现象.
解决方法已经为loadbalancer.
xml文件开发了新属性monitor-interval-in-seconds.
在为负载平衡器插件配置了数百个侦听器的情况下,可使用该属性在连接/断开连接事件之间插入暂停.
默认暂停值为0.
使用双网络进行HADB配置(无ID)使用两个子网上的双网络进行配置的HADB可以在SolarisSPARC上正常工作.
但是,由于操作系统或网络驱动程序在某些硬件平台上的问题,已发现在Solarisx86和Linux平台上并不总是能够正确处理双网络.
这就导致HADB出现以下问题:在Linux上,发送消息时某些HADB进程会被阻塞.
这将导致HADB节点重新启动以及进行网络分区操作.
EJBSunGlassFishEnterpriseServerv2.
1.
1发行说明2010年4月42在Solarisx86上,网络故障后会出现一些问题,导致无法切换到其他网络接口.
但并不总是会发生这种情况,因此最好还是使用两个网络.
这些问题在Solaris10上已部分解决.
不支持链路聚合.
在Windows2003上,HADB不支持双网络(ID5103186).
HADB数据库创建失败(无ID)说明创建新数据库可能会失败并出现以下错误,说明可用的共享内存段太少:HADB-E-21054:系统资源不可用:HADB-S-05512:用关键字"xxxxx"连接共享内存段失败,操作系统状态=24,操作系统错误消息:打开的文件太多.
解决方法请确认已配置共享内存且配置能正常工作.
特别是在Solaris8上,请检查文件/etc/system,然后确定变量shmsys:shminfo_shmseg的值至少为每个主机的节点数的六倍.
hadbmset无法检查资源可用性(磁盘和内存空间)(5091280)说明使用hadbmset增大设备或缓冲区大小时,管理系统会在创建数据库或添加节点时检查资源可用性,但在更改设备或主内存缓冲区大小时则不会检查是否有足够的可用资源.
解决方法在增大devicesize或buffersize配置属性之前,确认所有主机上都有足够的可用磁盘空间/内存空间.
不支持packagepath的异构路径(5091349)说明不能在不同主机上的不同位置使用相同名称注册同一个软件包;例如:hadbmregisterpackagetest--packagepath=/var/install1--hostseuropa11Packagesuccessfullyregistered.
hadbmregisterpackagetest--packagepath=/var/install2--hostseuropa12hadbm:Error22171:Asoftwarepackagehasalreadybeenregisteredwiththepackagenametest.
解决方法HADB不支持数据库群集中节点之间的异构路径.
确保HADB服务器的安装目录(--packagepath)在所有参与的主机上都相同.
高可用性第3章已知问题和限制43hadbmcreatedomain可能会失败(6173886,6253132)说明在具有多个网络接口的主机上运行管理代理时,如果所有网络接口不是在同一子网中,则createdomain命令可能会失败:hadbm:Error22020:Themanagementagentscouldnotestablishadomain,pleasecheckthatthehostscancommunicatewithUDPmulticast.
管理代理将(如果不是采用其他配置)使用UDP多址广播的"第一个接口"("第一个"接口由java.
net.
NetworkInterface.
getNetworkInterfaces()的结果定义).
解决方法最佳解决方法是告诉管理代理要使用哪个子网(在配置文件中设置ma.
server.
mainternal.
interfaces,例如,ma.
server.
mainternal.
interfaces=10.
11.
100.
0).
此外,也可以配置子网之间的路由器,以便路由多址广播数据包(管理代理使用多址广播地址228.
8.
8.
8).
在重试管理代理的新配置之前,可能需要清除管理代理系统信息库.
停止域中的所有代理,并删除存储库目录(由管理代理配置文件中的repository.
dr.
path标识)中的所有文件和目录.
必须先在所有主机上执行此操作,然后才能用新配置文件重新启动代理.
启动、停止和重新配置HADB可能会失败或挂起(6230792、6230415)说明在Solaris10Opteron上,使用hadbm命令启动、停止或重新配置HADB可能会失败或挂起,并产生以下错误消息:hadbm:Error22009:Thecommandissuedhadnoprogressinthelast300seconds.
HADB-E-21070:Theoperationdidnotcompletewithinthetimelimit,buthasnotbeencancelledandmaycompleteatalatertime.
如果clu_noman_srv进程所使用的文件(nomandevice)存在不一致的读/写操作,就可能出现这种情况.
通过在HADB历史文件中查找以下消息,可以检测到此问题:n:3NSUPINF2005-02-1118:00:33.
844p:731Childprocessnoman3733doesnotrespond.
n:3NSUPINF2005-02-1118:00:33.
844p:731Havenotheardfromitin104.
537454sec.
n:3NSUPINF2005-02-1118:00:33.
844p:731Childprocessnoman3733didnotstart.
高可用性SunGlassFishEnterpriseServerv2.
1.
1发行说明2010年4月44解决方法以下解决方法未经验证,原因是此问题尚未手动再现.
但是,对受影响的节点运行此命令应该能解决此问题.
hadbmrestartnode--level=clearnodenodbname请注意,该节点的所有设备都将重新初始化.
在重新初始化之前可能必须停止该节点.
管理代理会终止并产生异常"IPV6_MULTICAST_IF失败"(6232140)说明在运行Solaris8且装有多个NIC卡的主机上启动时,如果混合启用了IPv6卡和IPv4卡,管理代理可能会终止并产生异常"IPV6_MULTICAST_IF失败".
解决方法将环境变量JAVA_OPTIONS设置为-Djava.
net.
preferIPv4Stack=true;例如:exportJAVA_OPTIONS="-Djava.
net.
preferIPv4Stack=true"此外,也可以使用Solaris9或更高版本,这些版本不会出现此问题.
clu_trans_srv无法中断(6249685)说明64位版本的RedHatEnterpriseLinux3.
0中存在一个错误,导致clu_trans_srv进程在执行异步I/O时在不可中断的模式下结束.
这意味着kill-9不起作用,必须重新引导操作系统.
解决方法使用RedHatEnterpriseLinux3.
0的32位版本.
hadbm不支持包含大写字母的密码(6262824)说明当密码存储在hadb中时,其中的大写字母会转换成小写字母.
解决方法请勿使用包含大写字母的密码.
高可用性第3章已知问题和限制45从HADB版本4.
4.
2.
5降级到HADB版本4.
4.
1.
7会导致ma失败,并产生不同的错误代码(6265419)说明降级到先前的HADB版本时,管理代理会失败并产生不同的错误代码.
解决方法可以降级HADB数据库,但如果已经对系统信息库对象进行更改,则无法降级管理代理.
在降级后,必须仍然使用来自最新HADB版本的管理代理.
安装/删除和symlink保留(6271063)说明对于HADBc软件包(Solaris:SUNWhadbc,Linux:sun-hadb-c)版的安装/删除,symlink/opt/SUNWhadb/在创建后不会有任何改动.
因此,可能会存在孤立的symlink.
解决方法除非正在使用symlink,否则请在安装前或卸载后将其删除.
全局区域和局部区域中的管理代理可能会发生冲突(6273681)说明在Solaris10上,在全局区域中使用ma-initd脚本停止管理代理会导致局部区域中的管理代理也停止.
解决方法请勿在全局区域和局部区域中都安装管理代理.
当会话对象在MA上已超时并被删除时,hadbm/ma应该提供更准确的错误消息(6275103)说明有时,服务器上的资源争用问题可能会导致管理客户机断开连接.
在重新连接时,可能会返回误导性的错误消息"hadbm:错误22184:必须提供密码才能连接到管理代理".
解决方法有时,服务器上的资源争用问题可能会导致管理客户机断开连接.
在重新连接时,可能会返回误导性的错误消息"hadbm:错误22184:必须提供密码才能连接到管理代理".
高可用性SunGlassFishEnterpriseServerv2.
1.
1发行说明2010年4月46检查服务器上是否存在资源问题,采取适当的措施(例如添加更多资源),然后重试操作.
非超级用户无法管理HADB(6275319)说明与JavaEnterpriseSystem一起安装(以超级用户的身份)仅允许超级用户管理HADB.
解决方法要管理HADB,请始终以超级用户的身份登录.
管理代理不应使用特殊用途的接口(6293912)说明IP地址类似于0.
0.
0.
0的特殊用途的接口不应注册为可供管理代理中的HADB节点使用的接口.
如果用户使用主机名称而不是IP地址发出hadbmcreate命令,将HADB节点设置到这些接口上,则注册这些接口可能会导致出现此问题.
此后,节点将无法通信,从而导致create命令挂起.
解决方法在具有多个接口的主机上使用hadbmcreate时,始终明确使用DDN表示法来指定IP地址.
在Windows上重汇编失败(6291562)说明在具有某些配置和负载的Windows平台上,操作系统中可能会出现大量的重汇编失败.
已经发现20多个节点的配置在并行运行多个表扫描(select*)时有此问题.
症状可能是事务频繁地异常中止,修复或恢复会持续很长时间才能完成,系统的各个部分会频繁超时.
解决方法要修复此问题,可将Windows注册表变量HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters设置为高于默认值100的值.
建议将此值增大到0x1000(4096).
有关更多信息,请参见Microsoft支持页中的文章811003(http://support.
microsoft.
com/default.
aspxscid=kb;en-us;811003).
高可用性第3章已知问题和限制47如果浏览器具有其他路径为/的cookie,无法维护会话状态(6553415)说明路径为"/"的Cookie与在"/"以外的上下文根目录中部署的高度可用Web应用程序(使用内存复制作为其持久性类型)的Cookie发生冲突,从而使高度可用的Web应用程序无法维护任何HTTP会话状态.
通常,当使用同一浏览器访问管理GUI(部署在"/"中)和高度可用的Web应用程序时,可能会出现这种情况.
解决方法通过其他浏览器访问部署在"/"中的Web应用程序.
LB无法使用IIS6;as-install/lib下缺少SASL32.
DLL和ZLIB.
DLL(6572184)说明要使负载平衡器能与WindowsIIS6配合工作,需要使用SASL32.
DLL和ZLIB.
DLL文件.
当前,as-install/lib下没有这些文件.
解决方法将这两个DLL文件手动复制到as-install/lib.
可以从以下网址下载这些文件:http://download.
java.
net/javaee5/external/OS/aslb/jars/其中OS表示所需的平台,可以是以下值之一:SunOSSunOS_X86LinuxWINNT全局区域中存在DAS创建/启动和HA软件包传播问题(6573511)说明在全局区域中安装或卸载具有高可用性软件包的EnterpriseServer时,会出现两个问题:1.
在所有区域中都安装HA软件包,这可能不是所希望的.
2.
卸载时,将从所有区域中删除HA、MQ、JDK软件包,这可能不是所希望的.
从局部根区域中安装或卸载时,不会出现此问题.
解决方法从局部根区域而不是全局区域执行安装和卸载.
高可用性SunGlassFishEnterpriseServerv2.
1.
1发行说明2010年4月48部署在"/"中的高度可用的Web应用程序无法恢复在内存中复制的HTTP会话(问题跟踪器2972)说明当使用内存复制作为其持久性类型时,部署在"/"中的高度可用的Web应用程序无法维护任何HTTP会话.
解决方法将使用内存复制作为其持久性类型的高度可用的Web应用程序部署到"/"以外的上下文根目录中.
如果要使此类Web应用程序位于"/"中,可以将其指定为Web应用程序已部署到的虚拟服务器的默认Web模块.
ASLB安装程序未将/usr/lib/mps路径放在apachectlLD_LIBRARY_PATH中,无法启动ApacheSSL(6591878)说明在Solaris上针对Apache安装EnterpriseServer负载平衡器期间,安装程序将更新apachectl脚本中的LD_LIBRARY_PATH.
但是,安装程序未正确写入/usr/lib/mps路径.
在Solaris上,如果LD_LIBRARY_PATH中没有此路径,则Apache安全性实例将无法启动.
解决方法只有Solaris平台存在此问题.
要解决此问题,请将/opt/SUNWappserver/appserver/lib/lbplugin/lib添加到LD_LIBRARY_PATH.
针对实例/群集启用/禁用LB应该显示正确的状态(6595113)说明无论domain.
xml中保存了哪些内容,在"群集/实例"常规页上,"启用负载平衡"按钮都始终处于启用状态.
解决方法对于群集实例,请选择"实例"选项卡,然后在下拉菜单中单击"停止"操作.
对于独立实例,请确保实例正在运行,然后在实例的"常规"屏幕上单击"停止"按钮.
AS9.
1EEIFRb58f/JES5UR1.
无法安装RegistryServer,因为检测到"不完整的"HA.
(6602508)说明(仅Solaris)在具有HADB的SPARCSolaris10上安装EnterpriseServerv2.
1.
1之后,启动EnterpriseServer并尝试安装具有RegistryServer的JES5UR1时,可能会出现以下错误:高可用性第3章已知问题和限制49DependencyError:InstallationcannotproceedbecausetheversionofHASessionStore4.
4.
3detectedonthishostisincomplete,andacompatibleversionisrequiredbyServerviceRegistryDeploymentSupport.
解决方法在Solaris计算机上,不能使用EnterpriseServerIFR从JES5UR1安装RegistryServer.
必须使用pkgadd命令从以下JES5UR1分发目录手动安装RegistryServer软件包:path/OS/Products/registry-svr/Packages特定于InternetExplorer6.
0/7.
0浏览器:导出负载平衡器配置文件会抛出错误(6516068)说明(仅InternetExplorer6和7)当尝试从InternetExplorer6或7导出负载平衡器配置文件(loadbalancer.
xml)时,浏览器会显示错误消息,表示找不到sun-loadbalancer_1_2.
dtdDTD文件.
解决方法要保存此文件,请使用以下解决方法:1.
在InternetExplorer中,在"负载平衡器"页上单击"导出".
将显示"XMLpagecannotbedisplayed"消息.
2.
单击错误框,然后从InternetExplorer中选择"文件"->"另存为".
3.
将loadbalancer.
xml文件保存到所选目录中.
安装本节介绍已知的安装问题和相应的解决方法.
安装程序装饰图像显示旧产品版本(6862674)描述安装程序左侧的图像显示旧产品版本,而不显示v2.
1.
1.
解决方法无.
start-domain命令在OpenSolaris2008.
11上超时(6820169和6741572)描述在OpenSolaris2008.
11上,当您尝试使用asadminstart-domain命令启动域时,显示以下错误消息:安装SunGlassFishEnterpriseServerv2.
1.
1发行说明2010年4月50Timeoutwaitingfordomaindomain1togotostartingstate.
CLI156Couldnotstartthedomaindomain1.
解决方法域已成功启动.
在重新引导计算机之后更正时间和日期.
在有64位JDK的情况下,安装失败(6796171)描述在有64位JDK的64位系统上,安装失败,因为安装程序试图使用64位JDK.
解决方法如果要在64位系统上安装SunGlassFishEnterpriseServer,请下载32位JDK,并使用它在64位计算机上安装SunGlassFishEnterpriseServer.
您需要使用以下命令:.
/分发文件名—javahome32位JDK位置路径安装后,为确保SunGlassFishEnterpriseServer使用64位JDK,请编辑asenv.
conf文件中的AS_JAVA变量值,以指向64位JDK安装.
EnterpriseServer安装程序在Linux上崩溃(6739013)说明已在运行Linux并且环境变量MALLOC_CHECK_设置为2的系统上发现该问题.
解决方法将环境变量MALLOC_CHECK_设置为0.
运行以下命令之一:对于Bourneshell:MALLOC_CHECK_=0;exportMALLOC_CHECK_对于bashshell:exportMALLOC_CHECK_=0对于csh、tcshshell:setenvMALLOC_CHECK_0在某些Linux系统上,单击"完成"按钮之后,安装关闭会挂起(5009728)说明已在多种Linux系统上发现此问题.
此问题在JavaDesktopSystem2上最常见,但在LinuxRedHat分发上也发现了此问题.
安装第3章已知问题和限制51在安装程序的最后一个屏幕上单击"完成"按钮后,安装程序无法启动包含产品"关于"页面或产品注册页面的浏览器窗口,同时安装程序将无限期地挂起并且不返回命令提示符.
解决方法通过在启动安装程序的终端窗口中按Ctrl+C组合键来退出安装程序.
执行此操作后,有时会启动包含产品"关于"页面或注册页面的浏览器窗口.
如果不显示此窗口,请启动浏览器并输入以下URL以查看"关于"页面:file://as-install/docs-ee/about.
html如果您还选择了用于注册产品的安装选项,请点击产品"关于"页面上提供的指向注册页面的链接.
在Windows上,需要在安装期间创建imq目录(6199697)说明在Windows上刚刚安装之后,MessageQueue代理启动失败,并显示一条消息,说明目录drive:\as\domains\domain1\imq不存在.
请注意,如果在启动domain1后启动该代理,则ApplicationServer将创建该目录,因此不会出现上述问题.
解决方法1.
在创建代理之前创建var_home_dir_location:$imqbrokerd-varhomevar_home_dir_location例如:$imqbrokerd-varhomeD:\as\domains\domain1\imq卸载无法正确更新productregistry文件;无法使用无提示模式进行安装(6571598)说明如果EnterpriseServerproductregistry文件包含共享组件配置,则EnterpriseServer卸载过程无法正确更新productregistry文件,您将无法在后续安装中使用无提示模式,除非重命名或删除productregistry文件.
按照设计,productregistry文件中的共享组件条目保持不变,但是会导致与后续无提示安装发生混淆.
解决方法通过卸载日志文件报告卸载成功之后,先删除productregistry文件,然后再运行后续安装.
要检验先前的卸载是否已成功完成,请在as-install中查找appserv_uninstall.
class文件.
如果卸载成功,此文件将不会存在.
安装SunGlassFishEnterpriseServerv2.
1.
1发行说明2010年4月52注–如果卸载失败,请勿删除productregistry.
在Solaris上,productregistry文件位于/var/sadm/install中;在Linux上,位于/var/tmp中.
IFR.
无法在稀疏局部区域中安装AS,MQ软件包问题.
(6555578)说明在稀疏局部区域中安装EnterpriseServer时,如果未先安装MessageQueue(MQ),安装便会失败.
安装程序尝试安装MQ,随后整个安装失败.
解决方法在稀疏局部区域中安装EnterpriseServer之前,必须在全局区域中手动安装MQ.
此问题有两种解决方法:1.
通过包含EnterpriseServerIFR安装的相同介质,在全局区域中手动安装MQ4.
1,以获得最新的MQ软件包.
a.
使用与您的平台相对应的安装程序:mq4_1-installer-SunOS.
zipmq4_1-installer-SunOS_X86.
zipmq4_1-installer-Linux_X86.
zipmq4_1-installer-WINNT.
zipb.
解压缩位并运行安装程序.
安装程序将位于mq4_1-installer目录中.
2.
在全局区域中安装任何IFR安装组件.
此操作将检查GZ中的MQ版本,确定是否需要将其升级到EnterpriseServerIFR中捆绑的版本.
均等选择并安装样例应用程序组件将MQ升级到IFR版本.
a.
在全局区域中运行EnterpriseServer安装,但是仅选择样例组件.
样例组件安装也会在所有区域中安装MQ和EnterpriseServer共享组件.
b.
再次运行EnterpriseServer安装,这次是在局部稀疏区域中.
安装应该顺利完成,不出现任何问题.
必须删除IFR安装-console提示"DoyouwanttoupgradefrompreviousApplication"(6592454)说明使用—console选项(命令行模式)运行EnterpriseServerIFR安装程序时,系统会给出以下提示:DoyouwanttoupgradefrompreviousApplicationServerversion安装第3章已知问题和限制53遗憾的是,IFR安装程序不支持此升级,因此该提示是错误的.
如果您对该提示回答是"是",则安装将正常进行,但是不会出现表明已执行完整安装而不是升级的指示.
解决方法如果要升级EnterpriseServer安装,请使用升级工具.
升级后启动域时,您会在日志中看到以下异常.
(6774663)说明可能会抛出以下异常:#|2008-11-19T01:44:37.
422+0530|SEVERE|sun-appserver9.
1|org.
apache.
catalina.
session.
ManagerBase|_ThreadID=1uestID=cc0ddf54-a42e-400a-9788-e30d79a25d88;|PWC2768:IOExceptionwhileloadingpersistedsessions:java.
io.
InvalidClassException:org.
apache.
catalina.
session.
StandardSession;localclassincompatible:streamclassdescserialVersionUID=8647852380089530442,localclassserialVersionUID=-8515037662877107054java.
io.
InvalidClassException:org.
apache.
catalina.
session.
StandardSession;localclassincompatible:streamclassdescserialVersionUID=8647852380089530442,localclassserialVersionUID=-8515037662877107054.
解决方法升级完成并启动升级域之后,如果出现这些异常,可将其忽略.
JavaEE教程使用管理控制台创建资源时,使用"目标"选项卡将服务器指定为目标.
如果使用命令行或asant目标,则该服务器为默认目标,无需其他操作.
Java持久性TopLink期望Collection字段/属性可复制(问题跟踪器556)说明如果java.
util.
Arrays.
asList()API用于将Object[]转换为Collection,则JDK将返回不可复制的java.
util.
ArrayList的实现.
这将导致以下异常:Themethodinvocationofthemethod[protectednativejava.
lang.
Objectjava.
lang.
Object.
clone()throwsjava.
lang.
CloneNotSupportedException]ontheobject[[pkg.
Aid=xxx]],ofclass[classjava.
util.
Arrays$ArrayList],triggeredanexception.
InternalException:java.
lang.
reflect.
InvocationTargetExceptionTargetInvocationException:java.
lang.
CloneNotSupportedException:java.
util.
Arrays$ArrayListJavaEE教程SunGlassFishEnterpriseServerv2.
1.
1发行说明2010年4月54https://glassfish.
dev.
java.
net/issues/show_bug.
cgiid=556上已跟踪该问题.
解决方法使用其构造函数创建其他集合,例如:myCollection=newArrayList(java.
util.
Arrays.
asList(a))GenerationType.
IDENTITY和与SyBase一起使用的DataDirect驱动程序(问题跟踪器2431)说明如果与SyBase一起使用DataDirect驱动程序,则尝试插入使用GenerationType.
IDENTITY的实体失败.
由于DataDirect驱动程序为每一个参数化的预处理语句创建一个存储过程,因此该尝试失败.
解决方法在domain.
xml文件中,在相应的数据源上设置属性PrepareMethod=direct.
生命周期管理本节介绍已知的生命周期管理问题和相应的解决方法.
设置ejb-timer-service属性会导致set命令失败(6193449)说明将ejb-timer-service属性minimum-delivery-interval设置为9000之后,如果尝试将ejb-timer-service属性redelivery-interval-in-mills设置为7000,则会导致set命令失败并显示以下错误:[echo]Doingadmintaskset[exec][Attribute(id=redelivery-interval-internal-in-millis):Redelivery-Interval(7,000)shouldbegreaterthanorequaltoMinimum-delivery-interval-in-millis(9,000)][exec]CLI137Commandsetfailed.
minimum-delivery-interval是传送相同周期计时器之间的最小时间间隔.
redelivery-interval-in-mills是计时器服务在ejbTimeout失败后再次尝试传送之前等待的时间.
问题在于描述重新传送时间间隔属性与最小传送时间间隔属性之间关系的逻辑不正确,使您无法使用GUI或CLI来设置使最小传送时间间隔大于重新传送时间间隔的任何值.
生命周期管理第3章已知问题和限制55必须始终将minimum-delivery-interval-in-millis设置为等于或大于ejb-timer-service属性redelivery-interval-in-millis.
aerver在确认redelivery-interval-in-millis的值是否大于minimum-delivery-interval-in-millis的值时使用了错误的验证检查,这是产生上述问题的原因.
解决方法使用这些属性的默认值,如下所示:minimum-delivery-interval(default)=7000redelivery-interval-in-millis(default)=5000使用其他的值将导致产生错误.
当列出非DAS配置中的JMS物理目的地时,会抛出错误(6532532)说明如果要尝试使用default-config查看JMS物理目的地,将会出现错误消息.
解决方法这是预期行为.
在EnterpriseServer中,default-config是配置信息的模板,因此,无法针对default-config执行JMS操作(例如list和create).
但是,可以针对群集或独立实例的配置执行这些JMS操作.
仅Win2003:非分页池泄漏内存,破坏tcp栈和丰富访问测试(6575349)说明(仅Windows2003)在Windows2003系统上,当执行丰富访问功能时,会出现内存泄漏.
出现此问题是因为Win32非分页池不断增长,最终破坏整个TCP/IP栈.
出现故障后,TCP/IP栈将保持可恢复状态,并且仅可通过重新引导Windows2003系统对其进行恢复.
解决方法有两种方法可以解决该问题:通过配置domain.
xmlhttp-listener属性blocking-enabled="true"使用Grizzly阻塞模式,或者添加以下http-listener属性:使用WindowsVista或WindowsXP.
日志记录本节介绍已知的日志记录问题和相应的解决方法.
日志记录SunGlassFishEnterpriseServerv2.
1.
1发行说明2010年4月56设置access,failure的调试语句会导致服务器启动挂起(6180095)说明为JVM设置java.
security.
debug选项会导致服务器实例的启动停止并死锁;例如,在domain.
xml中进行以下设置将导致出现此问题:-Djava.
security.
debug=access,failure解决方法目前尚无解决方法.
请避免设置此标志.
MessageQueue本节介绍已知的JavaMessageQueue问题和相应的解决方法.
如果MQ代理未启动,EnterpriseServer就不会启动(6740797)说明在将JMS配置为REMOTE的情况下,如果MQ代理未启动,EnterpriseServer将无法启动.
解决方法按以下方式设置以下JVM选项:com.
sun.
enterprise.
jms.
CONNECT_MQ_LAZILY=true.
设置此JVM选项后,如果MQ代理未启动,您可以启动EnterpriseServer.
不过,建议您在启动服务器之前启动MQ.
在某些与时间相关的情况下,JMS重新连接无法成功完成(6173308、6189645、6198481、6199510、6208728)说明多种问题均可导致在与时间相关的情况下重新连接失败.
解决方法可以通过以下方法解决这些问题:重新启动相关的代理重新启动相关的实例MessageQueue第3章已知问题和限制57在Linux上,MQ代理无法与群集配置文件一起启动(6524871)说明在Linux系统上,创建具有群集配置文件的域之后,可能会遇到java.
lang.
OutOfMemoryError:heapspace错误,并且服务器实例可能会因为MQ代理未启动而无法重新启动.
出现此情况之后,系统便永不会恢复.
问题在于/etc/hosts文件配置错误;具体而言,服务器主机名称正在指向回送地址127.
0.
0.
1.
解决方法按照设计,MQ代理群集无法在网络设备配置为指向回送地址的情况下启动.
这不是错误.
解决方法是确保EnterpriseServer主机的/etc/hosts文件不指向127.
0.
0.
1.
在升级之前加载imqjmsra.
jar会导致新旧类不匹配(6740794)说明在服务器启动期间,服务器会检查MessageQueue版本.
如果MessageQueue版本不正确,则服务器将使用imqjmsra.
jar进行升级.
服务器只有在下一次重新启动后才能使用该升级JAR及其类.
只有在单独升级MessageQueue或单独修补应用服务器时,才会出现该情况.
该情况有时会导致服务器无法启动.
解决方法需要在同一修补级别维护MessageQueue和EnterpriseServer,或重新启动服务器.
监视本节介绍已知的监视问题和相应的解决方法.
某些HTTP服务监视统计信息未提供有用的信息,应该被忽略(6174518)说明在查看HTTP服务的某些元素的监视统计信息时,提供的某些值与当前值不对应或始终为0.
具体而言,以下HTTP服务统计信息不提供适用于EnterpriseServer的信息,应该被忽略:http-serviceload1MinuteAverageload5MinuteAverageload15MinuteAveragerateBytesTransmittedrateBytesReceivedpwc-thread-pool(元素)监视SunGlassFishEnterpriseServerv2.
1.
1发行说明2010年4月58解决方法在以后的版本中,将删除这些监视器并将其替换为更适当的信息.
从管理UI打开JNDI浏览会在server.
log中转储大量异常(6591734)说明从管理GUI打开JNDI浏览器时,会抛出许多异常.
解决方法目前尚无解决方法.
打包本节介绍与打包EnterpriseServer产品的软件代码相关的已知问题和相应的解决方法.
AIX:monitor命令不能在AIX上运行(6655731)说明不能在AIX操作系统上运行monitor命令,因为libcliutil.
so库文件未打包到EnterpriseServer中.
解决方法:安装缺失的libcliutil.
so库文件从(http://download.
java.
net/javaee5/external/AIX/appserv-native/jars/appserv-native-9.
1.
1-b16a.
jar)下载JAR文件.
转至在其中下载了appserv-native-9.
1.
1-b16a.
jar文件的目录.
prompt%cddestination-dir提取appserv-native-9.
1.
1-b16a.
jar文件的内容.
prompt%jarxfappserv-native-9.
1.
1-b16a.
jar将libcliutil.
so文件复制到as-install/lib目录.
prompt%cplibcliutil.
soas-install/lib样例本节介绍与EnterpriseServer产品附带的样例代码相关的已知问题和相应的解决方法.
1234样例第3章已知问题和限制59安装日志显示样例安装失败(6802286)说明安装SunGlassFishEnterpriseServer以后,安装日志文件显示系统未创建样例的某些文件.
解决方法没有已知的解决方法.
此问题不影响基本样例功能.
升级之后,EnterpriseServer样例和JES5Portal样例将争用Derby端口1527(6574563)说明在Windows上,升级到EnterpriseServer2.
1.
1之后,样例和JES5Portal样例将争用Derby端口1527.
具体而言,EnterpriseServer2.
1.
1将自动在具有APP:APP的端口0.
0.
0.
0:1527上启动JavaDB,但是JES5PortalJavaDB要绑定到具有portal:portal的hostnameIP:1527.
此错误所描述的问题已在JES5错误6472173中出现.
http://docs.
sun.
com上《适用于MicrosoftWindows的SunJavaEnterpriseSystem5安装指南》中记录了错误6472173的解决方法.
解决方法使用以下命令启动Derby数据库:JES-installation-dir\appserver\bin\asadminstart-database--dbhomeJES-installation-dir\portal\data\derby安全性本节介绍与EnterpriseServer及Web应用程序安全性和证书相关的已知问题和相应的解决方法.
v2.
1.
1捆绑的CA证书已过期.
说明自2010年1月8日起,SunGlassFishEnterpriseServerv2.
1.
1捆绑的CA证书已过期.
因此,在启动域时,您可能会看到某些SEVERE消息.
解决方法从密钥库中删除过期的证书.
要从JKS密钥库中删除证书,请使用以下命令:keytooldelete-aliasverisignserverca-keystoredomain-dir/config/cacerts.
jks要从NSS密钥库中删除证书,请使用以下命令:安全性SunGlassFishEnterpriseServerv2.
1.
1发行说明2010年4月60certutil-D-nverisignserverca-ddomain-dir/config在重负载情况下SSL方案中出现OutofMemory错误(JDK6问题23)说明JDK6SunPKCS11提供程序中的JDK错误(请参见:https://jdk6.
dev.
java.
net/issues/show_bug.
cgiid=23)可能会导致在重负载情况下运行某些SSL方案时出现OutOfMemoryError.
解决方法如果遇到该问题,请从JRE安装中的java.
security文件删除sun.
security.
pkcs11.
SunPKCS11提供程序.
AIX:由于服务器端证书验证错误,WSS动态加密密钥测试失败(6627379)说明在AIX平台上,动态加密中确定响应的加密密钥失败.
在对服务器端证书进行验证的过程中发生该故障.
作为对该故障的响应,将以下错误消息写入服务器的日志文件server.
log:UnabletovalidatecertificateErroroccurredwhileresolvingkeyinformationcom.
sun.
xml.
wss.
impl.
WssSoapFaultException:Certificatevalidationfailed解决方法在EnterpriseServer2.
1.
1上安装Metro1.
1AIX:EJB模块上的@RunAs授权测试失败AccessLocalException:客户机未授权(6627385)说明企业bean中的一个方法(其run-as或传播的安全标识通过使用@RunAs注释定义)尝试调用另一个企业bean中的方法.
如果在sun-ejb-jar.
xml部署描述符文件中未定义run-as主体,则尝试可能失败并抛出javax.
ejb.
AccessLocalException异常.
javax.
ejb.
AccessLocalException:Clientnotauthorizedforthisinvocation.
解决方法在sun-ejb-jar.
xml部署描述符文件中,在principal-name元素中定义为其指定了run-as角色的主体名称.
安全性第3章已知问题和限制61SSL终止不起作用(6269102)说明SSL终止不起作用;如果为SSL终止配置了负载平衡器(硬件),则EnterpriseServer会在重定向过程中将协议从https更改为http.
解决方法在硬件负载平衡器与EnterpriseServer之间添加软件负载平衡器.
SSL出现套接字连接泄漏(6492477)说明由于JVM错误,在HTTP侦听器上将security-enabled设置为true时,某些JDK版本会出现泄漏问题.
具体而言,产生此错误的步骤如下:1.
在HTTP侦听器上,将security-enabled设置为true:2.
对在快速查找测试结束时停止域做出注释.
3.
运行快速查找测试.
4.
检查套接字使用情况:netstat-an|grep8080以下显示的是处于使用状态的内容:*.
8080*.
*00491520LISTEN*.
8080*.
*00491520BOUNDGlassFish站点https://glassfish.
dev.
java.
net/issues/show_bug.
cgiid=849上已跟踪该问题.
解决方法升级到最新的JDK版本.
升级本节介绍已知的升级问题和相应的解决方法.
升级SunGlassFishEnterpriseServerv2.
1.
1发行说明2010年4月62在某些Linux系统上,单击"启动升级向导"按钮之后,运行"就地升级"的安装程序无法启动升级工具(6207337)说明此问题已在多个Linux系统上出现,是JavaDesktopSystem2最常见的问题,而且在RedHat分发中也发现了此问题.
在最终安装程序屏幕上单击"启动升级工具"按钮后,安装程序无法启动升级工具以完成升级过程,并且无限期挂起,而不会返回命令提示符.
解决方法如果使用命令行安装模式来运行就地升级,将不会遇到此问题.
1.
如果您以GUI模式运行就地升级并且遇到此问题,请通过在启动安装程序的终端窗口中按Ctrl+C组合键来退出安装程序.
2.
使用以下命令从终端窗口启动升级工具:as-install/bin/asupgrade--sourceas-install/domains--targetas-install--adminuseradminuser--adminpasswordadminpassword--masterpasswordchangeitadminuser和adminpassword的值应与要升级的安装所使用的值匹配.
3.
在升级工具完成升级过程后,您还可以启动浏览器并输入以下URL来查看"关于"页面:file://as-install/docs-ee/about.
html如果您还选择了用于注册产品的安装选项,请点击产品"关于"页面上提供的指向注册页面的链接.
从8.
0PlatformEdition(PE)升级到8.
1EnterpriseEdition(EE)UR2期间和之后,自签名证书都不受信任(6296105)解决方法将以下条目从目标domain.
xml删除(在升级后),然后重新启动服务器:-Djavax.
net.
ssl.
keyStore=${com.
sun.
aas.
instanceRoot}/config/keystore.
jks-Djavax.
net.
ssl.
trustStore=${com.
sun.
aas.
instanceRoot}/config/cacerts.
jks升级第3章已知问题和限制63(sbs-manual、sbs-installer)抛出一个例外,说明"服务器实例"服务器没有名为null的系统连接器(6545145)说明从EnterpriseServer8.
0PE升级到2.
1.
1时,会抛出错误,说明服务器没有名为null的系统连接器,并且出现sbs-manual中所示的无效用户信息.
即使在更改硬编码值之后,也会出现相同的错误消息.
解决方法只有在从8.
0PE升级到EnterpriseServer时才会遇到该错误.
解决方法是升级到8.
1、8.
2或9.
0,然后升级到EnterpriseServer.
使用不同的内部版本组合进行升级时,会丢失不同的域(6546130)说明执行就地升级时,如果源中有多个域,则即使升级过程被中止,安装程序也会调用升级工具.
以GUI模式进行调用时,便会出现这种情况.
解决方法1.
以CLI模式进行就地安装,当安装过程结束时,在安装程序提示您选择升级工具时退出.
这不会删除域目录中的任何域.
应该从bin目录手动调用升级工具.
2.
以GUI模式进行就地安装时,对域根目录中的域进行备份,以免在安装过程中丢失任何域.
当安装过程结束时,在安装程序提示您调用升级工具时退出.
如果域已经丢失,请将所有备份域复制到域目录.
手动启动升级工具以执行升级.
Solaris:在升级工具中预先输入的主密码是EnterpriseServer2.
1.
1(而不是AS8.
2)中的主密码(6565825)说明从AS8.
2进行升级时,目标安装中不会继承8.
2安装中的主密码.
这随后会导致在下次管理登录时出现验证错误.
解决方法EnterpriseServer2.
1.
1中的默认管理密码为changeit.
从8.
2升级之后,要在登录到EnterpriseServer时避免出现问题,请执行以下三种操作之一:在执行升级之前,将8.
2管理密码更改为changeit.
在升级过程中,请勿接受默认管理密码,而是明确输入要使用的密码.
使用默认密码登录到EnterpriseServer2.
1.
1,然后立即更改此密码.
升级SunGlassFishEnterpriseServerv2.
1.
1发行说明2010年4月64不存在asupgradeGUI的本地化联机帮助(6610170)说明在非英语语言中运行asupgradeGUI时,没有针对所选的非英语语言对GUI联机帮助进行本土化.
解决方法目前尚无解决方法.
已计划使用所有非英语目标语言对联机帮助进行本地化.
对多个域进行升级(逆序)时,升级工具删除nodeagents目录(6636871)说明对包含多个域的配置进行并行升级后,仅显示最后处理的域的节点代理.
由于每次升级工具处理域时都会在目标中删除并重新创建nodeagents目录,因此发生此问题.
解决方法:在对多个域进行并行升级时保留所有节点代理处理每个域后,创建nodeagents目录的zip文件.
处理完所有域后,解压缩您所创建的文件.
此时将显示所有节点代理.
就地升级不会更新现有域的index.
html文件(6831429)描述执行就地升级时,不会替换已存在的域的index.
html文件.
可能仍会显示服务器的旧版本.
此index.
html文件可以由SGES_BASE的index.
html文件替换.
SGES_BASE/lib/install/templates/ee/index.
htmlDOMAIN_DIR/docroot/index.
htmlWeb容器本节介绍已知的Web容器问题和相应的解决办法.
在Windows上,使用--precompilejsp=true部署应用程序会锁定应用程序中的JAR文件,从而导致以后的取消部署或重新部署失败(5004315)说明如果您在Windows上部署应用程序时要求预编译JSP,则以后尝试取消部署该应用程序或重新部署该应用程序(或任何具有相同模块ID的应用程序)的操作将不会按预期进行.
出现此问题的原因是:JSP预编译会打开应用程序中的JAR文件,但不能关闭这些文件,Windows将禁止执行取消部署或重新部署操作以避免删除或覆盖它们.
12Web容器第3章已知问题和限制65请注意,取消部署在某种程度上是成功的,因为应用程序会从ApplicationServer中被逻辑删除.
另外请注意,asadmin实用程序不会返回任何错误消息,但应用程序的目录以及锁定的jar文件会保留在服务器中.
服务器的日志文件将包含用于说明未能删除文件和应用程序的目录的消息.
在取消部署后尝试重新部署应用程序的操作会失败,这是由于服务器尝试删除现有文件和目录,而这些尝试也失败了.
如果您尝试部署的应用程序所使用的模块ID与最初部署的应用程序的模块ID相同,会出现这种情况,这是由于服务器在选择目录名来保存应用程序的文件时会使用模块ID.
如果没有先取消部署应用程序而尝试重新部署该应用程序,也将会由于同样的原因而失败.
诊断如果尝试重新部署应用程序或在取消部署后部署它,asadmin实用程序将返回一个类似如下的错误.
Anexceptionoccurredwhilerunningthecommand.
Theexceptionmessageis:CLI171Commanddeployfailed:Deployingapplicationindomainfailed;Cannotdeploy.
Moduledirectoryislockedandcan'tbedeleted.
解决方法如果在部署应用程序时指定--precompilejsps=false(默认设置),则不会出现此问题.
请注意,第一次使用应用程序时会触发JSP编译,因此第一个请求的响应时间将会长于随后的请求的响应时间.
另外,请注意,如果您确实进行了预编译,则在取消部署或重新部署应用程序之前,应先停止并重新启动服务器.
关闭服务器后将释放锁定的JAR文件,这样在重新启动服务器后,取消部署或重新部署便可以成功.
无法使用基于Servlet2.
4且包含空元素的web.
xml部署WAR(6172006)说明web.
xml中的可选load-on-startupservlet元素表示相关的servlet将在启动对其进行声明的Web应用程序期间被加载和初始化.
此元素的可选内容是一个整数,用于表示该servlet相对于Web应用程序的其他servlet而被装入和初始化的顺序.
只要该servlet在包含它的Web应用程序启动期间被加载和初始化,空的就表示顺序无关紧要.
web.
xml的Servlet2.
4模式不再支持空的,这意味着在使用基于Servlet2.
4的web.
xml时,必须指定一个整数.
如果像在中一样指定空的,则web.
xml将无法针对web.
xml的Servlet2.
4模式进行验证,从而导致Web应用程序的部署失败.
Web容器SunGlassFishEnterpriseServerv2.
1.
1发行说明2010年4月66向下兼容性问题.
指定空的在基于Servlet2.
3的web.
xml中仍起作用.
解决方法在使用基于Servlet2.
4的web.
xml时,指定0,以表明servlet的装入顺序无关紧要.
无法在资源限定服务器上编译JSP页面(6184122)说明已访问JSP页面但是无法对其进行编译,并且服务器日志包含错误消息"无法执行命令"和以下堆栈跟踪:atorg.
apache.
tools.
ant.
taskdefs.
Execute$Java13CommandLauncher.
exec(Execute.
java:655)atorg.
apache.
tools.
ant.
taskdefs.
Execute.
launch(Execute.
java:416)atorg.
apache.
tools.
ant.
taskdefs.
Execute.
execute(Execute.
java:427)atorg.
apache.
tools.
ant.
taskdefs.
compilers.
DefaultCompilerAdapter.
executeExternalCompile(DefaultCompilerAdapter.
java:448)atorg.
apache.
tools.
ant.
taskdefs.
compilers.
JavacExternal.
execute(JavacExternal.
java:81)atorg.
apache.
tools.
ant.
taskdefs.
Javac.
compile(Javac.
java:842)atorg.
apache.
tools.
ant.
taskdefs.
Javac.
execute(Javac.
java:682)atorg.
apache.
jasper.
compiler.
Compiler.
generateClass(Compiler.
java:396)解决方法将JSP编译开关"fork"设置为"false".
可以通过以下两种方式之一来实现:在全局范围内,通过将domain-dir/config/default-web.
xml中JspServlet的fork初始化参数设置为false:jsporg.
apache.
jasper.
servlet.
JspServlet.
.
.
.
forkfalseservlet>在每个Web应用程序基础上,通过将sun-web.
xml中的forkJSP配置属性设置为false:以上任何一种设置都将阻止ant产生用于javac编译的新进程.
Web容器第3章已知问题和限制67EnterpriseServer不支持auth-passthroughWebServer6.
1附加软件(6188932)说明SunGlassFishEnterpriseServer2.
1.
1添加了对SunGlassFishEnterpriseServerEnterpriseEdition7.
1中可用的auth-passthrough插件功能所提供的功能的支持.
但是,在EnterpriseServer2.
1.
1中,auth-passthrough插件功能的配置有所不同.
EnterpriseServerEnterpriseEdition7.
1中的auth-passthrough插件功能在双层部署方案中非常有用,其中:ApplicationServer实例受公司防火墙之后的第二层防火墙的保护.
不允许客户机直接连接到ApplicationServer实例.
在这种网络体系架构中,客户机连接到前端Web服务器,而该Web服务器配置有service-passthrough插件功能,会将HTTP请求转发到代理的ApplicationServer实例以供处理.
ApplicationServer只能从Web服务器代理接收请求,而决不会从任何客户机主机接收请求.
因此,当部署在代理的ApplicationServer实例上的任何应用程序查询客户机信息时,该应用程序将收到代理主机的信息(例如,当该应用程序查询客户机IP地址时,会收到代理主机的IP),这是因为代理主机才是中继请求的真正发出主机.
解决方法在ApplicationServerEnterpriseEdition7.
1中,可以在代理ApplicationServer实例上配置auth-passthrough插件功能,以使该实例上所部署的所有应用程序可以直接获得远程客户机的信息,就像代理ApplicationServer实例直接收到请求那样,而不是通过运行service-passthrough插件的中间Web服务器接收.
在EnterpriseServer2.
1.
1中,可以通过将domain.
xml中元素的authPassthroughEnabled属性设置为TRUE来启用auth-passthrough功能,如下所示:ApplicationServerEnterpriseEdition7.
1中的auth-passthrough插件功能的安全注意事项也适用于EnterpriseServer2.
1.
1中的authPassthroughEnabled属性.
由于authPassthroughEnabled可以覆盖可能用于进行验证的信息(例如,请求的来源IP地址或SSL客户机证书),因此,必须只允许可信的客户机或服务器连接到authPassthroughEnabled设置为TRUE的EnterpriseServer2.
1.
1实例.
作为一项预防措施,建议仅将公司防火墙之后的服务器的authPassthroughEnabled设置为TRUE,而不要将可通过Internet访问的服务器的authPassthroughEnabled设置为TRUE.
请注意,当代理Web服务器已配置了service-passthrough插件并且将请求转发到authPassthroughEnabled设置为TRUE的EnterpriseServer实例时,Web服务器代理上可能启用了SSL客户机验证,而在代理的EnterpriseServer实例上却禁用了该验证.
在此情况下,代理的EnterpriseServer实例仍会将请求当作通过了SSL验证,并向部署在其上的发出请求的所有应用程序提供客户机SSL证书.
Web容器SunGlassFishEnterpriseServerv2.
1.
1发行说明2010年4月68Web服务器AS9.
1b50e.
Linux.
无法在安装ASLB之后启动WS:libjvm.
so:cannotopenshared(6572654)说明只有在Linux系统上将SunGlassFishWebServer与EnterpriseServer和负载平衡器一起使用时才会出现此问题.
在此情况下,安装EnterpriseServer和负载平衡器之后,WebServer可能无法启动,因为libicui18n.
so.
2和libicuuc.
so.
2发生冲突.
这些库同时位于/opt/sun/private/lib和/opt/sun/appserver/lib中.
解决方法要使用的正确的库只能位于/opt/sun/appserver/lib中,因为lbplugin根据这些库生成.
一旦从/opt/sun/private/lib中删除这两个库,WebServer便应该能够顺利启动,不会出现任何错误.
或者,如果不希望从/opt/sun/private/lib中删除这些库,可以在WebServerstartserv脚本的LD_LIBRARY_PATH中,将/opt/sun/appserver/lib放在/opt/sun/private/lib之前;也就是将:#Addinstance-specificinformationtoLD_LIBRARY_PATHforSolarisandLinuxLD_LIBRARY_PATH="${SERVER_LIB_PATH}:${SERVER_JVM_LIBPATH}:${LD_LIBRARY_PATH}:/opt/sun/appserver/lib:/opt/sun/appserver/lbplugin/lib";exportLD_LIBRARY_PATH替换为:#Addinstance-specificinformationtoLD_LIBRARY_PATHforSolarisandLinuxLD_LIBRARY_PATH="/opt/sun/appserver/lib:/opt/sun/appserver/lbplugin/lib:${SERVER_LIB_PATH}:${SERVER_JVM_LIBPATH}:${LD_LIBRARY_PATH}";exportLD_LIBRARY_PATHWeb服务本节介绍已知的Web容器问题和相应的解决办法.
Ant任务wsimport不可用于JavaEESDKb33d(使用JDK1.
6),并出现NoClassDefFoundError(6527842)说明使用JavaEESDKb33d附带的JDK1.
6运行JAX—WS测试时可能会遇到问题.
这些测试会立即中止,并且显示以下消息:[wsimport]Exceptioninthread"main"java.
lang.
NoClassDefFoundError:\com/sun/tools/ws/WsImportWeb服务第3章已知问题和限制69即使webservices-tools.
jar不包含com/sun/tools/ws/WsImport.
class、com/sun/tools/ws/ant/WsImport.
class和com/sun/tools/ws/ant/WsImport2.
class,也会发生此错误.
而且,同一个测试工作区可以使用1.
5.
0-10JDK运行,而不会出现任何问题.
解决方法在运行JAX-WS测试之前,将webservices-api.
jar复制到$JAVA_HOME/jre/lib/endorsed.
publish-to-registry命令在IFREE内部版本中失败(6602046)说明JAXR使用SAAJ将SOAP消息发送到注册表.
在非IFR的情况下,SAAJimpl类位于lib/webservices-rt.
jar下.
在IFR的情况下,SAAJ类仍位于lib/webservices-rt.
jar下.
此外,saaj-impl.
jar位于/usr/share/lib目录中.
此jar文件由EnterpriseServer拾取,并且其优先级高于webservices-rt.
jar中的类.
此jar文件不具有将SOAP消息发送到Web服务注册表所需的必要安全权限.
此打包应该修改为向/usr/share/lib目录下的jar授予权限,或者与/usr/share/libjar无关.
解决方法将以下内容添加到server.
policy文件:grantcodeBase"file:/usr/share/lib/saaj-impl.
jar"{permissionjava.
security.
AllPermission;};在JDK6u4b3上wscompile失败并显示"packagejavax.
xml.
rpcdoesnotexist"(6638567)说明针对JDK6Update4执行的wscompileant任务失败.
对于每个JAX-RPCAPI类,会显示以下错误消息:packagepackage-namedoesnotexist解决方法在运行wscompileant任务之前,确保在类路径而不是j2ee.
jar中指定javaee.
jar.
Web服务SunGlassFishEnterpriseServerv2.
1.
1发行说明2010年4月70
青云互联怎么样?青云互联是一家成立于2020年的主机服务商,致力于为用户提供高性价比稳定快速的主机托管服务,目前提供有美国免费主机、香港主机、韩国服务器、香港服务器、美国云服务器,香港安畅cn2弹性云限时首月五折,15元/月起;可选Windows/可自定义配置,让您的网站高速、稳定运行。点击进入:青云互联官方网站地址青云互联优惠码:八折优惠码:ltY8sHMh (续费同价)青云互联香港云服务器活动...
halocloud怎么样?halocloud是一个于2019下半年建立的商家,主要提供日本软银VPS,广州移动VDS,株洲联通VDS,广州移动独立服务器,Halo邮局服务,Azure香港1000M带宽月抛机器等。日本软银vps,100M/200M/500M带宽,可看奈飞,香港azure1000M带宽,可以解锁奈飞等流媒体,有需要看奈飞的朋友可以入手!点击进入:halocloud官方网站地址日本vp...
一般大厂都是通过首年才有可以享受爆款活动,然后吸引我们注册他们商家达到持续续费和购买的目的。一般只有大厂才能有这样的魄力和能力首年亏本,但是对于一般的公司和个人厂家确实难过,这几年确实看到不少的同类商家难以生存。这里我们可以看到有对应的套餐方案。不过这两个套餐都是100%CPU独享的,不是有某云商家限制CPU的。但是轻量服务器有个不好的就是带宽是较大且流量是限制的额,分别是1GB和1.2TB月流量...
sql2000挂起为你推荐
伪装微信地理位置用软件 伪装微信地理位置 在相册上传图片显示所在城市还是我目前的位置?伪装微信地理位置微信朋友圈怎么使用伪装地理位置2012年正月十五山西省太原市2012年正月十五活动的相关情况二层交换机什么是三层交换机?什么是二层叫交换机?有什么区别?云挂机快手极速版后台云挂机辅?助各位用了吗?在哪找的?分词技术搜索引擎采用的是什么技术?网站优化方案几种常用的网站优化方法怎么上传音乐怎样可以上传本地音乐到网上?rewritebase为什么我写.htaccess这个 rewriterule 进入死循环了,高手帮忙修改域名库电脑上文件有多少域名?各什么意思?
腾讯云盘 联通c套餐 国外主机 fastdomain googleapps 360抢票助手 支付宝扫码领红包 香港新世界中心 服务器是干什么用的 阿里云官方网站 太原联通测速 中国linux 免费蓝钻 xuni 网络速度 htaccess magento主机 机柜尺寸 服务器机柜 卡巴斯基免费下载 更多