代理端口映射器

端口映射器  时间:2021-05-07  阅读:()
SunGlassFishMessageQueue4.
4Update1发行说明文件号码821–1516–102009年12月版权所有2009SunMicrosystems,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、Java和Solaris是SunMicrosystems,Inc.
或其子公司在美国和其他国家/地区的商标或注册商标.
所有SPARC商标的使用均已获得许可,它们是SPARCInternational,Inc.
在美国和其他国家/地区的商标或注册商标.
标有SPARC商标的产品均基于由SunMicrosystems,Inc.
开发的体系结构.
OPENLOOK和SunTM图形用户界面是SunMicrosystems,Inc.
为其用户和许可证持有者开发的.
Sun感谢Xerox在研究和开发可视或图形用户界面的概念方面为计算机行业所做的开拓性贡献.
Sun已从Xerox获得了对Xerox图形用户界面的非独占性许可证,该许可证还适用于实现OPENLOOKGUI和在其他方面遵守Sun书面许可协议的Sun许可证持有者.
本出版物所介绍的产品以及所包含的信息受美国出口控制法制约,并应遵守其他国家/地区的进出口法律.
严禁将本产品直接或间接地用于核设施、导弹、生化武器或海上核设施,也不能直接或间接地出口给核设施、导弹、生化武器或海上核设施的最终用户.
严禁出口或转口到美国禁运的国家/地区以及美国禁止出口清单中所包含的实体,包括但不限于被禁止的个人以及特别指定的国家/地区的公民.
本文档按"原样"提供,对于所有明示或默示的条件、陈述和担保,包括对适销性、适用性或非侵权性的默示保证,均不承担任何责任,除非此免责声明的适用范围在法律上无效.
100224@23474目录1发行说明5发行说明修订历史记录6关于MessageQueue4.
4Update16MessageQueue4.
4Update1支持的平台和组件7操作系统平台支持7系统虚拟化支持8组件相关性8MessageQueue4.
4Update1和较新发行版的新增功能9MessageQueue4.
4Update1的新增功能10MessageQueue4.
4的新增功能10MessageQueue4.
3的新增功能12MessageQueue4.
2的新增功能17MessageQueue4.
1的新增功能20MessageQueue4.
0的新增功能23以后发行版中不再使用的功能26MessageQueue4.
4Update1和较新发行版中修复的错误27MessageQueue4.
4Update1中修复的错误27MessageQueue4.
4中修复的错误30MessageQueue4.
3中修复的错误31MessageQueue4.
2中修复的错误32MessageQueue4.
1中修复的错误33MessageQueue4.
0中修复的错误34MessageQueue4.
4Update1中的文档更新35兼容性问题35MessageQueue4.
4Update1文档集中的更改36已知问题和限制36安装问题37过时的密码选项423管理/配置问题43代理问题44代理群集45JMX问题47SOAP支持47可再分发的文件48为残疾人士提供的辅助功能48如何报告问题和提供反馈48SunGlassFish软件论坛49Java技术论坛49Sun欢迎您提出意见49其他Sun资源49目录SunGlassFishMessageQueue4.
4Update1发行说明2009年12月4发行说明版本4.
4Update1文件号码821-1516-10本发行说明包含SunGlassFishMessageQueue4.
4Update1发行时可用的重要信息.
介绍了新增功能和增强功能、已知问题和限制以及其他信息.
开始使用MessageQueue4.
4Update1之前,请先阅读本文档.
本发行说明还包含有关MessageQueue4.
4、4.
3、4.
2、4.
1和4.
0发行版的信息.
例如,有关这些发行版中新增功能的信息,可分别参见第17页中的"MessageQueue4.
2的新增功能"、第20页中的"MessageQueue4.
1的新增功能"和第23页中的"MessageQueue4.
0的新增功能".
本发行说明的最新版本可以在SunGlassFishMessageQueue文档Web站点(http://docs.
sun.
com/coll/1307.
7)找到.
在安装和设置软件之前,请先查看此Web站点上的相关信息,并在以后定期查看最新的发行说明和产品文档.
本发行说明包含以下部分:第6页中的"发行说明修订历史记录"第6页中的"关于MessageQueue4.
4Update1"第7页中的"MessageQueue4.
4Update1支持的平台和组件"第9页中的"MessageQueue4.
4Update1和较新发行版的新增功能"第26页中的"以后发行版中不再使用的功能"第27页中的"MessageQueue4.
4Update1和较新发行版中修复的错误"第35页中的"MessageQueue4.
4Update1中的文档更新"第36页中的"已知问题和限制"第48页中的"可再分发的文件"第48页中的"为残疾人士提供的辅助功能"第48页中的"如何报告问题和提供反馈"第49页中的"Sun欢迎您提出意见"第49页中的"其他Sun资源"1第1章5本文档引用了第三方URL以提供其他相关信息.
Sun对本文档中提到的第三方Web站点的可用性不承担任何责任.
对于此类站点或资源中的(或通过它们获得的)任何内容、广告、产品或其他资料,Sun并不表示认可,也不承担任何责任.
对于因使用或依靠此类站点或资源中的(或通过它们获得的)任何内容、产品或服务而造成的或连带产生的实际或名义损坏或损失,Sun概不负责,也不承担任何责任.
发行说明修订历史记录下表列出了MessageQueue产品的所有4.
x发行版的发行日期,并描述了此文档中与每个发行版关联的更改.
表1–1修订历史记录日期更改描述2009年12月此文档针对MessageQueue4.
4Update1发行版.
添加了该发行版的新增功能,并删除了以前安装程序中存在的过时安装问题.
2009年12月此文档针对MessageQueue4.
4的第二个发行版.
修正错误和疏漏.
2009年10月此文档针对MessageQueue4.
4发行版.
添加了该发行版的新增功能.
2009年5月此文档针对MessageQueue4.
4Beta的初始发行版.
添加了该发行版的新增功能.
2008年12月此文档针对MessageQueue4.
3发行版.
添加了该发行版的新增功能.
2008年8月此文档针对MessageQueue4.
2发行版.
添加了该发行版的新增功能.
2007年9月此文档针对MessageQueue4.
1的第三个发行版.
增加了JavaEnterpriseSystem监视框架、固定C端口、错误修复程序以及其他功能的支持说明.
2007年4月此文档针对MessageQueue4.
1Beta的第二个发行版.
增加了高可用性功能.
2007年1月此文档针对MessageQueue4.
1Beta的初始发行版.
增加了JAAS支持说明.
2006年5月此文档针对MessageQueue4.
0的初始发行版.
关于MessageQueue4.
4Update1SunGlassFishMessageQueue是一种功能全面的消息服务,提供符合JavaMessagingSpecification(JMS)1.
1的可靠的异步消息传送功能.
此外,MessageQueue还提供JMS规范之外的许多功能,以满足大型企业部署的需要.
MessageQueue4.
4Update1是一个次要发行版,它提供基于与平台无关的映像包管理系统(ImagePackagingSystem,IPS)(也称为pkg(5)系统)的新型安装程序.
此外,版本4.
4Update1包含很多增强功能以及错误修复程序.
发行说明修订历史记录SunGlassFishMessageQueue4.
4Update1发行说明2009年12月6MessageQueue4.
4Update1支持的平台和组件本部分介绍了以下有关MessageQueue4.
4Update1系统要求的主题:第7页中的"操作系统平台支持"第8页中的"系统虚拟化支持"第8页中的"组件相关性"操作系统平台支持Solaris、Linux、Windows和AIX操作系统平台均支持MessageQueue4.
4Update1.
表1–2显示了支持的各个平台版本.
有关每个平台的硬件要求,请参见《SunJavaSystemMessageQueue4.
3InstallationGuide》.
表1–2支持的平台版本平台支持的版本SolarisSolaris9(SunOS5.
9)及所有更新(SPARC、x86)Solaris10(SunOS5.
10)及所有更新(SPARC、x86、x64)OpenSolarisOpenSolaris2008.
11(x86、x64)OpenSolaris2009.
06(x86、x64)LinuxRedHatEnterpriseLinuxAdvancedServer4.
0、5.
0及所有更新,32位和64位版本(x86、x64)RedHatEnterpriseLinuxEnterpriseServer4.
0、5.
0及所有更新,32位和64位版本(x86、x64)AIXAIX6.
1WindowsWindowsVistaWindowsXPProfessionalSP2(x86)1WindowsServer2003StandardEdition和EnterpriseEditionSP2,32位和64位版本(x86、x64)2WindowsServer2008StandardEdition和EnterpriseEditionSP2,32位和64位版本(x86、x64)21不支持Home、TabletPC或MediaCenterEdition2不支持WebEdition或SmallBusinessServerEditionMessageQueue4.
4Update1支持的平台和组件第1章发行说明7系统虚拟化支持系统虚拟化是一项允许多个操作系统(OperatingSystem,OS)实例在共享硬件上独立执行的技术.
在功能方面,部署到在虚拟化环境中托管的OS的软件通常不知道基础平台已被虚拟化.
Sun在所选择的系统虚拟化和OS组合上执行其SunJavaSystem产品的测试,以帮助验证SunJavaSystem产品是否能够继续在正确调整大小及配置的虚拟化环境中如在非虚拟化环境中一样运行.
有关Sun在虚拟化环境中提供的SunJavaSystem产品支持的信息,请参见http://docs.
sun.
com/doc/820-4651.
组件相关性除了特定于平台的要求以外,MessageQueue还依赖于某些基本组件,必须安装这些组件才能开发和运行MessageQueue客户端.
表1–3介绍了这些组件.
此外,也可以使用其他版本或供应商实现,但由于它们未经SunMicrosystems测试,因此不能获得正式支持.
表1–3所需的支持组件组件支持支持的版本1JavaRuntimeEnvironment(JRE)MessageQueue代理和管理工具J2SETMRuntimeEnvironment1.
5.
0或更高版本JavaTMSERuntimeEnvironment1.
6.
0JavaSoftwareDevelopmentKit(JDK)StandardEditionJava客户端开发和部署J2SEDevelopmentKit1.
5.
0或更高版本JavaSEDevelopmentKit1.
6.
0.
请注意,JMX要求版本1.
6.
0_10或更高版本.
1仅限SunMicrosystems产品版本表1–4显示了一些额外的组件,可以安装这些组件以便为MessageQueue客户端提供其他支持.
您可能不需要列出的所有组件:例如,如果不编写C客户端,则将不需要C编译器、C++运行时库、NSPR或NSS.
表1–4可选的支持组件组件支持支持的版本应用服务器HTTP/HTTPSSunGlassFishApplicationServerEnterpriseEdition版本9.
1.
1SunGlassFishEnterpriseServerv2.
1、v2.
1.
1、v3Web服务器HTTP/HTTPSSunGlassFishWebServerEnterpriseEdition版本7.
0Update3MessageQueue4.
4Update1支持的平台和组件SunGlassFishMessageQueue4.
4Update1发行说明2009年12月8表1–4可选的支持组件(续)组件支持支持的版本数据库基于JDBC的数据存储库HADB版本4.
4.
3、4.
5、4.
6JavaDB(ApacheDerby)版本10.
4MySQLCommunity/EnterpriseEdition版本5.
1Oracle9.
2i、10g和11gpostgreSQL版本8.
1注–不再支持PointBase数据库.
高可用性数据库高可用性代理群集HADB版本4.
4.
3、4.
5、4.
6MySQLClusterEdition版本5.
1.
39–ndb–7.
0.
9Oracle10g和11g轻量目录访问协议(LightweightDirectoryAccessProtocol,LDAP)目录服务器MessageQueue用户系统信息库和受管理对象SunGlassFishDirectoryServer版本6.
0Java命名和目录接口(JavaNamingandDirectoryInterface,JNDI)受管理对象支持和LDAP用户系统信息库JNDI版本1.
2.
1LDAPServiceProvider版本1.
2.
2FileSystemServiceProvider版本1.
2Beta31C编译器和兼容C++运行时库MessageQueueC客户端Solaris:SunStudio版本12或更高版本、C++编译器(使用标准模式)和C编译器Linux:gcc/g++版本3.
4.
6Windows:MicrosoftWindowsVisualStudio版本2008SP1NetscapePortableRuntime(NSPR)MessageQueueC客户端版本4.
7NetworkSecurityServices(NSS)MessageQueueC客户端版本3.
12.
31仅提供受管理对象支持;支持进行开发和测试,但不支持在生产环境中进行部署MessageQueue4.
4Update1和较新发行版的新增功能以下各部分介绍了MessageQueue4.
4Update1以及MessageQueue4.
x系列中以前发行版的新增功能:第10页中的"MessageQueue4.
4Update1的新增功能"第10页中的"MessageQueue4.
4的新增功能"第12页中的"MessageQueue4.
3的新增功能"MessageQueue4.
4Update1和较新发行版的新增功能第1章发行说明9第17页中的"MessageQueue4.
2的新增功能"第20页中的"MessageQueue4.
1的新增功能"第23页中的"MessageQueue4.
0的新增功能"MessageQueue4.
4Update1的新增功能MessageQueue4.
4Update1是一个次要发行版,其中包含很多增强功能和错误修复程序.
本部分介绍了此发行版中包含的新增功能:第10页中的"新型安装程序"第10页中的"群集事务日志支持"第10页中的"进程中代理"新型安装程序MessageQueue4.
4Update1提供基于pkq(5)系统(也称为IPS或映像包管理系统)的新型多平台安装程序.
有关此安装程序的信息,请参见《SunGlassFishMessageQueue4.
4Update1InstallationGuide》.
群集事务日志支持MessageQueue4.
4Update1添加了事务持久性机制,用于基于文件的、支持代理群集的数据存储库.
此机制也提供其他功能,如《SunGlassFishMessageQueue4.
4AdministrationGuide》中的"OptimizingFile-BasedTransactionPersistence"中所述.
进程中代理MessageQueue4.
4Update1支持从Java客户端内运行代理.
这类代理称为进程中或嵌入式代理,在与创建并启动该代理的Java客户端相同的JVM中运行.
有关详细信息,请参见《SunGlassFishMessageQueue4.
4Developer'sGuideforJavaClients》中的第6章"EmbeddingaMessageQueueBrokerinaJavaClient".
MessageQueue4.
4的新增功能MessageQueue4.
4是一个次要发行版,其中包含很多增强功能和错误修复程序.
本部分介绍了此发行版中包含的新增功能:第10页中的"JMS桥接器服务"第11页中的"STOMP桥接器服务"第12页中的"其他增强功能"JMS桥接器服务由于JMS规范没有为代理和客户端之间的通信定义有线通信协议,因此每个JMS提供者(包括MessageQueue)都定义并使用了自己的专有协议.
这种情况导致无法在JMS提供者之间进行互操作.
MessageQueue4.
4Update1和较新发行版的新增功能SunGlassFishMessageQueue4.
4Update1发行说明2009年12月10MessageQueue4.
4中的JMS桥接器服务允许MessageQueue代理将其目的地映射到外部JMS提供者中的目的地,从而弥补了该缺陷.
此映射可有效地使MessageQueue代理与外部JMS提供者的客户端进行通信.
JMS桥接器服务支持映射满足下列条件的外部JMS提供者中的目的地:符合JMS1.
1支持JNDI管理对象使用类型为javax.
jms.
ConnectionFactory或javax.
jms.
XAConnectionFactory的连接工厂对于处理的映射,支持将XA接口作为资源管理器许多开源和商业JMS提供者都满足这些要求,从而使JMS桥接器服务能有效地将MessageQueue集成到使用其他JMS提供者的现有消息传送环境中.
有关JMS桥接器服务的详细信息,请参见:有关JMS桥接器服务的体系结构、子组件和功能的信息,请参见《SunGlassFishMessageQueue4.
4TechnicalOverview》中的"JMSBridgeService".
有关在代理中配置和管理JMS桥接器的信息,请参见《SunGlassFishMessageQueue4.
4AdministrationGuide》中的"ConfiguringandManagingJMSBridgeServices".
STOMP桥接器服务如前面所述,JMS规范没有为代理和客户端之间的通信定义有线通信协议.
位于http://stomp.
codehaus.
org的STOMP(StreamingTextOrientedMessagingProtocol,面向流化处理文本的消息传送协议)开源项目定义了一个简单的有线通信协议,采用任意语言编写的客户端都可以使用该协议与支持STOMP协议的任何消息传送提供者进行通信.
MessageQueue4.
4通过STOMP桥接器服务提供STOMP协议支持.
利用此服务,MessageQueue代理可以与STOMP客户端进行通信.
有关STOMP桥接器服务的详细信息,请参见:有关STOMP桥接器服务的体系结构和功能的信息,请参见《SunGlassFishMessageQueue4.
4TechnicalOverview》中的"STOMPBridgeService".
有关在代理中配置和管理STOMP桥接器的信息,请参见《SunGlassFishMessageQueue4.
4AdministrationGuide》中的"ConfiguringandManagingSTOMPBridgeServices".
MessageQueue4.
4Update1和较新发行版的新增功能第1章发行说明11其他增强功能MessageQueue4.
4中还提供了以下增强功能:第12页中的"新的通用消息服务(UniversalMessageService,UMS)函数"第12页中的"IPS打包支持"第12页中的"恢复的审计记录功能"新的通用消息服务(UniversalMessageService,UMS)函数UMS现在提供了下列使用HTTPGET的函数以提供多种服务:getBrokerInfo:获取有关代理的信息.
getConfiguration:获取有关UMS配置的信息.
debug:打开和关闭UMS服务器中的调试日志记录.
ping:与代理通信以确认其处于运行状态.
有关这些新型功能的信息,请参见https://mq.
dev.
java.
net/4.
4-content/imqums/protocol.
html中的"QueryandutilityfunctionsusingHTTPGET(使用HTTPGET的查询和实用程序函数)".
有关UMS的概述,请参见第13页中的"通用消息服务(UniversalMessageService,UMS)".
有关UMSAPI的文档,请参见https://mq.
dev.
java.
net/4.
4-content/imqums/protocol.
html.
有关使用多种语言进行编程的示例,请参见https://mq.
dev.
java.
net/4.
4-content/imqums/examples/README.
html.
IPS打包支持MessageQueue现在使用开源映像包管理系统(ImagePackagingSystem,IPS)进行了打包以便分发,该系统也称为pkg(5)系统.
添加此打包方法的目的是为了方便MessageQueue与SunGlassFishEnterpriseServer2.
1.
1集成.
恢复的审计记录功能MessageQueue3.
7提供已从MessageQueue4.
0中删除的审计记录功能.
此功能已在MessageQueue4.
4中恢复.
有关此功能的信息,请参见《SunGlassFishMessageQueue4.
4AdministrationGuide》中的"AuditLogging".
MessageQueue4.
3的新增功能MessageQueue4.
3是一个次要发行版,其中包含很多增强功能以及错误修复程序.
本部分介绍了此发行版中包含的新增功能:第13页中的"通用消息服务(UniversalMessageService,UMS)"第15页中的"AIX平台支持"第15页中的"基于Zip的新安装程序"MessageQueue4.
4Update1和较新发行版的新增功能SunGlassFishMessageQueue4.
4Update1发行说明2009年12月12第16页中的"扩展的平台支持"第16页中的"其他增强功能"通用消息服务(UniversalMessageService,UMS)MessageQueue4.
3新增了一项新的通用消息传送服务(UMS)和消息传送API,该API允许从任何启用了http的设备访问MessageQueue.
因此,几乎所有应用程序都可以与任何其他应用程序通信,并从可靠且有保障的JMS消息传送中受益.
此外,UMS还为JMS消息传送提供了增强的可伸缩性,从而允许消息传送客户端的数量在Internet范围内达到相当比例的程度.
体系结构下图中显示了基本UMS体系结构:UMS在Web服务器中运行,它与语言和平台无关.
UMS可用作任何非JMS客户端应用程序与JMS提供者之间的网关.
它接收使用UMSAPI发送的消息,将其转换为JMS消息,然后通过JMS提供者的本机协议将这些消息发送至JMS提供者中的目的地.
同样,它从JMS提供者中的目的地获取消息,将其转换为文本或SOAP消息,然后通过UMSAPI将这些消息发送至客户端请求的非JMS客户端.
与语言无关且基于协议的简单UMSAPI同时支持基于Web和不基于Web的应用程序,并且可以与脚本语言和编程语言一起使用.
API以两种样式提供:一种是使用表现状态传输(RepresentationalStateTransfer,REST)样式协议的简单消息传送API,另一种是将协议嵌入SOAP消息头的XML消息传送API.
但是,这两种样式的API只需一个http请求来发送或接收消息.
CッJavaッ.
NetッAjaxッMessageQueueJMS2JMS3PythonッWebJMSッJMSUMSUMSAPIJMS图1–1UMS体系结构MessageQueue4.
4Update1和较新发行版的新增功能第1章发行说明13UMSAPI的简单性和灵活性表现在:AJAX、.
NET、Python、C、Java和许多其他应用程序可以将文本消息和/或SOAP(带有)消息发送至JMS目的地,或从JMS目的地接收消息.
例如,Python应用程序可以与.
NET应用程序通信,iPhone可以与Java应用程序通信等等.
对于MessageQueue4.
3,UMS仅支持将MessageQueue作为JMS提供者.
其他功能UMS并非只可用作上述的简单网关.
它还支持有状态客户端会话和无状态客户端会话.
根据客户端请求,UMS可在多个服务请求之间保持客户端应用程序的会话状态.
UMS可以使用容器管理验证和/或配置为使用MessageQueue代理验证客户端.
UMS还支持事务,从而允许客户端应用程序将多个服务请求作为一个整体进行提交或回滚.
由于UMS支持大量客户端同时连接到单个MessageQueue代理,因此减轻了代理连接服务的负荷,从而实现了最大可伸缩性.
此外,还可通过水平缩放增大UMS容量,以便允许在Internet范围内进行大负荷的消息传送.
由于基于协议的UMSAPI的简单性,在客户端无需任何客户端库.
这样,API便可以在将来进行扩展以实现其他JMS功能,而无需升级客户端应用程序.
使用UMS要使用UMS,您需要将UMS部署到支持Servlet2.
4或更高版本规范的Web容器中,启动MessageQueue代理,创建相应的目的地,并编写使用UMSAPI发送或接收消息的消息传送应用程序.
MessageQueue4.
3发行版中包含的UMSimqums.
war文件安装在以下位置(因平台而异):可以在适当的情况下重命名.
war文件.
表1–5imqums.
war文件的位置平台imqums.
war的位置Solaris/usr/share/lib/imqLinux/opt/sun/mq/share/libAIXIMQ_HOME/libWindowsIMQ_HOME\lib在将imqums.
war部署到位于localhost:port的Web容器后,可在以下位置找到UMS文档:http://localhost:port/imqumsMessageQueue4.
4Update1和较新发行版的新增功能SunGlassFishMessageQueue4.
4Update1发行说明2009年12月14或者,也可通过以下方式查找UMS文档:有关配置UMS的信息,请参见https://mq.
dev.
java.
net/4.
3-content/ums/config.
html.
有关UMSAPI的文档,请参见https://mq.
dev.
java.
net/4.
3-content/ums/protocol.
html.
有关使用多种语言进行编程的示例,请参见https://mq.
dev.
java.
net/4.
3-content/ums/examples/README.
html.
支持的Web容器当前,以下Web容器支持UMS:SunGlassFishEnterpriseServer版本2.
1和版本3PreludeTomcat版本5.
5和6.
0AIX平台支持MessageQueue4.
3提供了AIX平台软件包以及一个用于安装这些软件包的安装程序.
MessageQueueAIX实现支持以下软件:AIX版本6.
1或更高版本(通过仅适用于Unix/Java的包可支持早期版本的AIX)DB2支持IBMXLC/C++编译器版本9.
0JDK1.
5或更高版本有关安装说明,请参见《SunJavaSystemMessageQueue4.
3InstallationGuide》中的第4章"AIXInstallation".
在AIX平台上,MessageQueue文件安装在单个MessageQueue主目录IMQ_HOME下.
IMQ_HOME表示目录mqInstallHome/mq,其中mqInstallHome是您在安装该产品时指定的安装主目录(默认情况下为home-directory/MessageQueue).
最终的MessageQueue目录结构与Windows平台上的目录结构相同(请参见《SunGlassFishMessageQueue4.
4AdministrationGuide》中的附录A"Distribution-SpecificLocationsofMessageQueueData"中的Windows一节).
MessageQueue的AIX平台支持包括对MessageQueueC-API的支持.
有关在AIX平台上生成和编译C应用程序的说明,请参见XREF.
基于Zip的新安装程序MessageQueue4.
3新增了一种新的安装程序,以便进行基于Zip的分发,而不是本机软件包分发.
该安装程序用于为AIX平台安装新的MessageQueue.
zip分发包.
新安装程序将MessageQueue.
zip文件解压缩到您具有写入权限(无需超级用户权限)的任何目录中,并且还允许您在SunConnection中注册MessageQueue安装.
MessageQueue4.
4Update1和较新发行版的新增功能第1章发行说明15为了最大程度地减小下载包的大小,Java运行时环境将不再包含在基于zip的分发包中(大多数站点已提供Java运行时环境).
因此,installer命令需要通过使用JAVA_HOME环境变量或通过在命令行中使用-j选项来指定JDK或JRE,如下所示:$installer-jJDK/JRE-path其中JDK/JRE-path是指定JDK或JRE的路径.
扩展的平台支持将对MessageQueue4.
3更新的以下平台支持进行认证:Oracle11gWindowsServer2008其他增强功能MessageQueue4.
3中还包含以下增强功能:第16页中的"Windows平台上的新目录结构"第16页中的"新代理属性"第17页中的"JMX管理API增强功能"第17页中的"列出通配符订阅者的长期订阅"Windows平台上的新目录结构Windows平台上的MessageQueue安装目录结构已由以前的版本修改为与AIX平台上的目录结构相匹配.
将来,Solaris和Linux平台也会采用此目录结构,以便在单台计算机上执行多个安装,以及通过SunConnection(Sun托管的一项服务,可帮助跟踪、管理和维护Sun硬件和软件)自动更新MessageQueue(请参见第19页中的"安装程序的SunConnection注册支持").
新代理属性以下新属性可用于配置代理:表1–6代理路由和传送属性属性类型默认值描述imq.
transaction.
producer.
maxNumMsgs整型1000生成方可以在单个事务中处理的最大消息数.
建议该值小于5000,以防止资源耗尽.
imq.
transaction.
consumer.
maxNumMsgs整型100使用方可以在单个事务中处理的最大消息数.
建议该值小于1000,以防止资源耗尽.
imq.
persist.
jdbc.
connection.
limit整型5可以对数据库打开的最大连接数.
MessageQueue4.
4Update1和较新发行版的新增功能SunGlassFishMessageQueue4.
4Update1发行说明2009年12月16JMX管理API增强功能在JMXAPI中添加了一个新属性和几个复合数据键,如下所示:在目的地监视MBean中添加了NextMessageID属性,以提供要传送给使用方的下一条消息的JMS消息ID.
在使用方管理器监视MBean中添加了复合数据的NextMessageID键,以提供要传送给使用方的下一条消息的JMS消息ID.
在使用方管理器监视MBean中添加了复合数据的NumMsgsPending键,以提供分发给使用方的消息数.
有关详细信息,请参见《SunGlassFishMessageQueue4.
4Developer'sGuideforJMXClients》中的第3章"MessageQueueMBeanReference".
列出通配符订阅者的长期订阅以下用于列出长期订阅的命令:listdur[-dtopicName]已增强,以便可选择指定或不指定主题名称.
如果不指定主题,该命令会列出所有主题(包括使用通配符命名约定的主题)的所有长期订阅.
MessageQueue4.
2的新增功能MessageQueue4.
2是一个次要发行版,其中包含很多新增功能、一些增强功能以及错误修复程序.
本部分介绍了4.
2发行版中的新增功能,并提供了详细的使用参考:第17页中的"为发布者或订阅者提供多个目的地"第18页中的"XML有效负荷消息的模式验证"第18页中的"C-API的分布式事务支持"第19页中的"安装程序的SunConnection注册支持"第19页中的"MySQL数据库支持"第19页中的"其他增强功能"有关MessageQueue4.
1和4.
0中新增功能的信息,请分别参见第20页中的"MessageQueue4.
1的新增功能"和第23页中的"MessageQueue4.
0的新增功能".
为发布者或订阅者提供多个目的地在MessageQueue4.
2中,发布者可以将消息发布到多个主题目的地;订阅者可以使用多个主题目的地中的消息.
此功能是通过使用包含通配符的主题目的地名称(表示多个目的地)来实现的.
通过使用此类符号名称,管理员可以根据需要创建与通配符命名方案保持一致的其他主题目的地.
发布者可自动将消息发布到所添加的目的地,订阅者可自动使用其中的消息.
(通配符主题订阅者比发布者更常见.
)MessageQueue4.
4Update1和较新发行版的新增功能第1章发行说明17注–此功能不适用于队列目的地.
符号主题目的地名称的格式及其使用示例在《SunGlassFishMessageQueue4.
4AdministrationGuide》中的"SupportedTopicDestinationNames"中进行了描述.
XML有效负荷消息的模式验证通过使用MessageQueue4.
2中新增的此功能,可以在将消息发送到代理时针对XML模式验证文本(不是对象)XML消息的内容.
XML模式(XSD)位置是作为MessageQueue目的地属性指定的.
如果未指定XSD位置,则使用XML文档中的DTD声明来执行DTD验证.
(XSD验证包括数据类型和值范围验证,它比DTD验证更严格.
)有关使用此功能的信息,请参见《SunGlassFishMessageQueue4.
4Developer'sGuideforJavaClients》中的"SchemaValidationofXMLPayloadMessages".
C-API的分布式事务支持根据X/Open分布式事务模型,分布式事务支持依赖于分布式事务管理器,后者跟踪并管理一个或多个资源管理器所执行的操作.
在MessageQueue4.
2中,MessageQueueC-API支持XA接口(位于分布式事务管理器和MessageQueue之间,作为符合XA的资源管理器),以使分布式事务处理环境(如BEATuxedo)中运行的MessageQueueC-API客户端能够参与分布式事务.
这种分布式事务支持包含以下用于实现XA接口规范的新C-API函数(以及新参数和错误代码):MQGetXAConnection()MQCreateXASession()如果要在分布式事务上下文中使用C客户端应用程序,该应用程序必须使用MQGetXAConnection()获取连接,并使用MQCreateXASession()创建会话以生成和使用消息任何分布式事务的启动、提交和回滚操作都是通过分布式事务管理器提供的API进行管理的.
有关使用分布式事务方法的详细信息,请参见《SunGlassFishMessageQueue4.
4Developer'sGuideforCClients》中的"WorkingWithDistributedTransactions".
MessageQueue4.
2提供了一些基于Tuxedo事务管理器的编程示例.
有关使用这些样例程序的信息,请参见《SunGlassFishMessageQueue4.
4Developer'sGuideforCClients》中的"DistributedTransactionSamplePrograms".
MessageQueue4.
4Update1和较新发行版的新增功能SunGlassFishMessageQueue4.
4Update1发行说明2009年12月18注–分布式事务方法在Solaris、Linux和Windows平台上均受支持,但到目前为止,仅在Solaris平台上对该方法进行了认证.
安装程序的SunConnection注册支持MessageQueue安装程序已进行了改进,允许在SunConnection中注册MessageQueue,这是Sun托管的一项服务,可帮助跟踪、管理和维护Sun硬件和软件.
在安装MessageQueue期间,可以选择在SunConnection中注册MessageQueue.
安装的MessageQueue的相关信息(如发行版本、主机名、操作系统、安装日期以及其他此类基本信息)将安全地传送到SunConnection数据库.
SunConnection清单服务可帮助您管理Sun硬件和软件;更新服务可通知您最新的可用安全修复程序、建议的更新以及增强功能.
有关在SunConnection中注册MessageQueue的详细信息,请参见《SunJavaSystemMessageQueue4.
3InstallationGuide》.
MySQL数据库支持MessageQueue4.
2支持将MySQL数据库作为基于JDBC的数据存储库.
可以将MySQLClusterEdition用作独立代理的JDBC数据库,以及增强的代理群集所需的高可用性共享数据存储库.
有关将MessageQueue配置为使用MySQL的信息,请参见《SunGlassFishMessageQueue4.
4AdministrationGuide》中的"ConfiguringaJDBC-BasedDataStore"以及《SunGlassFishMessageQueue4.
4AdministrationGuide》中的"EnhancedBrokerClusterProperties".
其他增强功能除了上述功能以外,MessageQueue4.
2还包含以下增强功能:远程生成的消息度量MessageQueue4.
2新增了新的目的地度量,可用于监视代理群集中的目的地.
在代理群集中,在给定群集代理上的给定目的地中存储的消息包括在该目的地中直接生成的消息以及从群集的远程代理发送到该目的地的消息.
在分析代理群集中的消息路由选择和传送时,了解目的地中有多少消息是本地消息(在本地生成)以及多少消息是远程消息(在远程生成)有时是非常有用的.
MessageQueue4.
2中包含两种新的物理目的地度量数:远程消息数和远程消息字节总数.
新的度量数可通过imqcmdlistdst和imqcmdquerydst命令(请参见《SunGlassFishMessageQueue4.
4AdministrationGuide》中的"ViewingPhysicalDestinationInformation")和新的JMX属性(请参见《SunGlassFishMessageQueue4.
4Developer'sGuideforJMXClients》中的"DestinationMonitor")获得.
通配符生成方和通配符使用方信息MessageQueue4.
4Update1和较新发行版的新增功能第1章发行说明19通过新的监视数据,提供了支持在目的地名称中使用通配符的信息(请参见第17页中的"为发布者或订阅者提供多个目的地").
例如,与目的地关联的通配符生成方或使用方数可通过imqcmdquerydst命令(请参见《SunGlassFishMessageQueue4.
4AdministrationGuide》中的"ViewingPhysicalDestinationInformation")和新的JMX属性(请参见《SunGlassFishMessageQueue4.
4Developer'sGuideforJMXClients》中的"DestinationMonitor")获得.
此外,通配符信息可通过ConsumerManagerMonitorMBean和ProducerManagerMonitorMBean获得.
客户端验证的DN用户名格式支持MessageQueue4.
2支持在针对LDAP用户系统信息库的客户端连接验证中使用DN用户名格式.
该支持涉及以下新代理属性(和值):imq.
user_repository.
ldap.
usrformat=dn借助于此属性,代理可通过从DN用户名格式中提取以下属性所指定的属性值,针对LDAP用户系统信息库中的条目验证客户端用户:imq.
user_repository.
ldap.
uidattr在执行访问控制操作时,代理将上述属性的值用作用户名.
例如,如果imq.
user_repository.
ldap.
uidattr=udi,并且客户端验证用户名格式为udi=mquser,ou=People,dc=red,dc=sun,dc=com,则将提取"mquser"以执行访问控制.
JAAS验证增强MessageQueue4.
2新增了通过IP地址以及用户名进行JAAS验证的功能.
MessageQueue4.
1的新增功能MessageQueue4.
1是一个次要发行版,其中包含很多新增功能、一些增强功能以及错误修复程序.
本部分介绍了4.
1发行版中的新增功能,并提供了详细的使用参考:第21页中的"高可用性代理群集"第22页中的"JAAS支持"第22页中的"持久性数据存储库格式更改"第22页中的"代理环境配置"第22页中的"JavaES监视框架支持"第22页中的"增强的事务管理"第23页中的"用于C客户端连接的固定端口"有关MessageQueue4.
0中新增功能的信息,请参见第23页中的"MessageQueue4.
0的新增功能".
MessageQueue4.
4Update1和较新发行版的新增功能SunGlassFishMessageQueue4.
4Update1发行说明2009年12月20高可用性代理群集MessageQueue4.
1新增了一个增强的新代理群集.
与仅提供消息传送服务可用性(如果代理出现故障,可使用另一个代理提供消息传送服务)的传统代理群集相比,增强的代理群集还提供了数据可用性(如果代理出现故障,另一个代理可使用其持久性消息和状态数据接管消息传送).
MessageQueue4.
1中新增的高可用性实现使用的是基于JDBC的共享数据存储库:群集中的所有代理共享符合JDBC的同一数据库,而不是代理群集中的每个代理都具有其自己的持久性数据存储库.
如果特定代理出现故障,群集中的另一个代理将接管故障代理的消息传送.
在执行此操作时,故障转移代理将使用共享数据存储库中的数据和状态信息.
故障代理的消息传送客户端将重新连接到故障转移代理,它可提供不间断的消息传送服务.
MessageQueue4.
1高可用性实现中使用的基于JDBC的共享数据存储库本身必须具有高可用性.
如果没有高可用性数据库,或者不间断的消息传送对您并不重要,则可以继续使用传统群集,这些群集提供了服务可用性,但不提供数据可用性.
要配置MessageQueue4.
1增强的代理群集,请为群集中的每个代理指定以下代理属性:群集成员属性,它们指定代理位于增强的代理群集中,并指定群集ID以及群集中的代理ID.
高可用性数据库属性,它们指定持久性数据模型(JDBC)、数据库供应商名称以及特定于供应商的配置属性.
故障检测和故障转移属性,它们指定如何检测代理故障以及如何使用故障转移代理处理该故障.
要使用增强的代理群集实现,您必须执行以下操作:1.
安装高可用数据库.
2.
安装JDBC驱动程序.
jar文件.
3.
为高可用性持久性数据存储库创建数据库模式.
4.
为群集中的每个代理设置高可用性属性.
5.
启动群集中的每个代理.
有关增强的代理群集的概念性讨论及其与传统群集之间的差异,请参见《SunGlassFishMessageQueue4.
4TechnicalOverview》中的第4章"BrokerClusters".
有关增强的代理群集的过程和参考信息,请参见《SunGlassFishMessageQueue4.
4AdministrationGuide》中的第10章"ConfiguringandManagingBrokerClusters"以及《SunGlassFishMessageQueue4.
4AdministrationGuide》中的"ClusterConfigurationProperties".
如果已在MessageQueue4.
0中使用高可用性数据库,并且要切换到增强的代理群集,则可以使用数据库管理器实用程序(imqdbmgr)转换为共享持久性数据存储库.
另请参见第45页中的"代理群集"以了解更多的已知问题和限制.
MessageQueue4.
4Update1和较新发行版的新增功能第1章发行说明21JAAS支持除了基于文件的内置验证机制以及基于LDAP的内置验证机制外,MessageQueue4.
1还新增了Java验证和授权服务(JavaAuthenticationandAuthorizationService,JAAS)支持,它允许将外部验证机制插入到代理中以验证MessageQueue客户端.
有关代理为符合JAAS的验证服务提供的信息的说明以及如何将代理配置为使用此类服务的描述,请参见《SunGlassFishMessageQueue4.
4AdministrationGuide》中的"UsingJAAS-BasedAuthentication".
持久性数据存储库格式更改MessageQueue4.
1更改了基于JDBC的数据存储库以支持增强的代理群集.
为此,将基于JDBC的数据存储库格式提高到了版本410.
格式版本350、370和400均会自动迁移到版本410.
请注意,基于文件的持久性数据存储库的格式将保持为版本370,因为没有对其进行任何更改.
代理环境配置MessageQueue4.
1环境配置文件imqenv.
conf中添加了IMQ_DEFAULT_EXT_JARS属性.
可以设置此属性,以指定在代理启动时包含在CLASSPATH中的外部.
jar文件的路径名.
如果使用此属性指定外部.
jar文件的位置,则不再需要将这些文件复制到lib/ext目录中.
外部.
jar文件可以指JDBC驱动程序,也可以指JAAS登录模块.
下面的样例属性指定了JDBC驱动程序的位置.
IMQ_DEFAULT_EXT_JARS=/opt/SUNWhadb4/lib/hadbjdbc4.
jar:/opt/SUNWjavadb/derby.
jarJavaES监视框架支持MessageQueue4.
1新增了SunJavaEnterpriseSystem(JavaES)监视框架支持,它允许使用常见图形界面监视JavaES组件.
此界面是由一个基于Web的控制台(名为SunJavaSystemMonitoringConsole)实现的.
管理员可以使用控制台来查看性能统计信息、创建规则以进行自动监视以及确认警报.
如果将MessageQueue与其他JavaES组件一起运行,您可能会发现使用单个界面来管理所有这些组件要更方便一些.
有关使用JavaES监视框架监视MessageQueue的信息,请参见XREF.
增强的事务管理以前,仅允许通过管理方式回滚处于PREPARED状态的事务.
也就是说,如果作为分布式事务一部分的会话没有正常终止,管理员将无法清除处于某种状态的事务.
在MessageQueue4.
1中,您现在可以使用命令实用程序(imqcmd)清除(回滚)处于以下状态的事务:STARTED、FAILED、INCOMPLETE、COMPLETE和PREPARED.
MessageQueue4.
4Update1和较新发行版的新增功能SunGlassFishMessageQueue4.
4Update1发行说明2009年12月22为帮助您确定能否回滚特定事务(特别是未处于PREPARED状态时),该命令实用程序在imqcmdquerytxn输出中提供了额外的数据:它为启动事务的连接提供连接ID,并指定事务的创建时间.
通过使用此信息,管理员可以确定是否需要回滚事务.
通常,管理员应避免提前回滚事务.
用于C客户端连接的固定端口在MessageQueue4.
1中,C客户端(如Java客户端)现在可以连接到固定的代理端口,而不是连接到代理的端口映射器服务动态分配的端口.
如果要尝试穿过防火墙,或者由于某种其他原因而需要绕过端口映射器服务,固定端口连接是非常有用的.
要配置固定端口连接,您需要配置代理和C客户端运行时环境(连接的两端).
例如,如果要通过ssljms将客户端连接到端口1756,您应该执行以下操作:在客户端,设置以下属性:MQ_SERVICE_PORT_PROPERTY=1756MQ_CONNECTION_TYPE_PROPERTY=SSL在代理端,按如下所示设置imq.
serviceName.
protocolType.
port属性:imq.
ssljms.
tls.
port=1756注–MQ_SERVICE_PORT_PROPERTY连接属性已反向移植到MessageQueue3.
7Update2中.
MessageQueue4.
0的新增功能MessageQueue4.
0是一个次要发行版,仅限于支持ApplicationServer9PE.
它包含几个新增功能、一些增强功能以及错误修复程序.
本部分包含此发行版中的新增功能的说明:第24页中的"JMX管理API支持"第24页中的"客户端运行时环境日志记录"第24页中的"连接事件通知API"第24页中的"代理管理增强功能"第25页中的"显示有关基于JDBC的数据存储库的信息"第25页中的"JDBC提供者支持"第26页中的"持久性数据存储库格式更改"第26页中的"其他消息属性"第26页中的"SSL支持"MessageQueue4.
4Update1和较新发行版的新增功能第1章发行说明23注意–在版本4.
0中进行了一些细微但可能会引起问题的更改,其中之一就是不再使用命令行选项来指定密码.
因此,您必须按第42页中的"过时的密码选项"中的所述将所有密码存储在一个文件中,或者在出现提示时输入密码.
JMX管理API支持MessageQueue4.
0中添加了一个符合JavaManagementExtensions(JMX)规范的新API,用于配置和监视MessageQueue代理.
使用此API,可以在Java应用程序中以编程方式来配置和监视代理函数.
在MessageQueue的早期版本中,只能从命令行管理实用程序或管理控制台访问这些函数.
有关详细信息,请参见《SunGlassFishMessageQueue4.
4Developer'sGuideforJMXClients》.
客户端运行时环境日志记录MessageQueue4.
0新增了对客户端在运行时记录连接以及会话相关事件的支持.
有关客户端运行时日志记录以及如何对其进行配置的信息,请参见JavaDevGuide的第137页.
连接事件通知APIMessageQueue4.
0新增了一个事件通知API,它允许客户端运行时环境通知应用程序连接状态更改.
连接事件通知允许MessageQueue客户端侦听关闭和重新连接事件,并根据通知类型和连接状态采取适当的操作.
例如,如果发生故障转移,并且客户端重新连接到了其他代理,则应用程序可能希望清除事务状态,并继续执行新事务.
有关连接事件以及如何创建事件侦听器的信息,请参见JavaDevGuide的第96页.
代理管理增强功能在MessageQueue4.
0的命令实用程序(imqcmd)中添加了一个新的子命令和几个命令选项,以允许管理员停止代理、在指定时间间隔后关闭代理、销毁连接或设置Java系统属性(例如,与连接相关的属性).
停止代理可使其进入静默状态,以便在关闭或重新启动代理之前处理完所有消息.
无法对处于停止状态的代理创建新连接.
要停止代理,请输入如下命令.
imqcmdquiescebkr-bWolfgang:1756要在指定的时间间隔后关闭代理,请输入如下命令.
(时间间隔指定了在代理关闭之前等待的秒数.
)imqcmdshutdownbkr-bHastings:1066-time90如果指定了时间间隔,代理将记录一条消息,指出何时关闭代理.
例如,Shuttingdownthebrokerin29seconds(29996milliseconds)MessageQueue4.
4Update1和较新发行版的新增功能SunGlassFishMessageQueue4.
4Update1发行说明2009年12月24当代理等待关闭时,可通过以下方式影响其行为.
继续接受管理jms连接.
不接受任何新jms连接.
现有jms连接将继续工作.
代理无法接管增强的代理群集中的任何其他代理.
imqcmd实用程序不会阻止,它将向代理发送关闭请求并立即返回.
要销毁连接,请输入如下命令.
imqcmddestroycxn-n2691475382197166336使用imqcmdlistcxn或imqcmdquerycxn命令可获取连接ID.
要使用imqcmd设置系统属性,请使用新的–D选项.
它适用于设置或覆盖JMS连接工厂属性或与连接相关的java系统属性.
例如:imqcmdlistsvc-secure-DimqSSLIsHostTrusted=trueimqcmdlistsvc-secure-Djavax.
net.
ssl.
trustStore=/tmp/mytruststore-Djavax.
net.
ssl.
trustStorePassword=mytrustword有关imqcmd命令语法的完整信息,请参见《SunGlassFishMessageQueue4.
4AdministrationGuide》中的第16章"CommandLineReference".
显示有关基于JDBC的数据存储库的信息MessageQueue4.
0的数据库管理器实用程序imqdbmgr中添加了一个新的query子命令.
使用此子命令可显示有关基于JDBC的数据存储库的信息,其中包括数据库版本、数据库用户以及是否已创建数据库表.
以下是此命令所显示的信息的示例.
imqdbmgrquery[04/Oct/2005:15:30:20PDT]Usingplugged-inpersistentstore:version=400brokerid=Mozart1756databaseconnectionurl=jdbc:oracle:thin:@Xhome:1521:mqdbdatabaseuser=scottRunninginstandalonemode.
Databasetableshavealreadybeencreated.
JDBC提供者支持MessageQueue4.
0现在支持将ApacheDerby版本10.
1.
1作为基于JDBC的数据存储库提供者.
MessageQueue4.
4Update1和较新发行版的新增功能第1章发行说明25持久性数据存储库格式更改MessageQueue4.
0新增了对基于JDBC的数据存储库的更改,以便进行优化并支持以后的增强功能.
为此,将基于JDBC的数据存储库格式提高到了版本400.
请注意,在MessageQueue4.
0中,基于文件的数据存储库版本将保持为370,因为没有对其进行任何更改.
其他消息属性MessageQueue4.
0添加了两个新属性,它们是在位于停用消息队列中的所有消息上设置的.
JMS_SUN_DMQ_PRODUCING_BROKER指示生成消息时所在的代理.
JMS_SUN_DMQ_DEAD_BROKER指示将消息标记为停用的代理.
SSL支持从MessageQueue4.
0开始,客户端连接工厂属性imqSSLIsHostTrusted的默认值为false.
如果应用程序依赖于以前的默认值true,则需要对此属性进行重新配置,以将其明确设置为true.
将代理配置为使用自签名证书时,您可以选择信任主机.
在这种情况下,除了指定连接应使用基于SSL的连接服务(通过imqConnectionType属性)外,还应该将imqSSLIsHostTrusted属性设置为true.
例如,要在代理使用自签名证书时安全地运行客户端应用程序,请使用如下命令.
java-DimqConnectionType=TLS-DimqSSLIsHostTrusted=trueClientAppName要在代理使用自签名证书时安全地使用命令实用程序(imqcmd),请使用如下命令(用于列出连接器服务).
imqcmdlistsvc-secure-DimqSSLIsHostTrusted=true以后发行版中不再使用的功能在以后的发行版中,将不再使用以下功能:基于消息的监视基于消息的监视使用代理的可配置度量消息生成方将度量数据写入到JMS消息中,然后这些消息将发送到度量主题目的地,具体取决于消息中包含的度量信息类型.
之后,可通过编写客户端应用程序来访问度量信息,该应用程序将订阅相应的度量主题目的地、使用其消息并根据需要处理数据.
基于消息的监视功能已被MQ4.
0中新增的JMX管理API(请参见第24页中的"JMX管理API支持")所取代.
JMXAPI更全面(它包含的度量数据比写入到主题目的地中的数据多)且基于JMX行业标准.
以后发行版中不再使用的功能SunGlassFishMessageQueue4.
4Update1发行说明2009年12月26由于MessageQueue支持JMXAPI,因此没有必要再使用基于消息的监视.
MessageQueue文档中将保留与基于消息的监视相关的信息,直至正式弃用该功能.
基于文本的安装程序所有操作系统平台上都将去除MessageQueue安装程序的文本模式(installer-t).
在文本模式下,会在终端窗口中显示纯文本,以模拟图形用户界面(GraphicalUserInterface,GUI)模式的外观.
GUI模式和无提示模式将继续受支持.
平台支持在以后的发行版中,将不再支持Windows2000和RedHatLinux3.
JMSRA资源适配器在MessageQueue以后的发行版中,MessageQueue的资源适配器imqjmsra.
rar(通常称为JMSRA)将被新的资源适配器所取代.
JMSRA用于将MessageQueue与SunJavaSystemApplicationServer集成在一起.
新的资源适配器同时具备JMSRA的现有功能以及其他SunJMS资源适配器的功能,将为MessageQueue以及JavaEE5ApplicationServer环境中的其他提供者提供专门的支持.
同样,它用于将MessageQueue集成到SunGlassFishEnterpriseServer和SunJavaCompositeApplicationPlatformSuite(JavaCAPS)中.
MessageQueue4.
4Update1和较新发行版中修复的错误MessageQueue4.
4Update1包含新的错误修复程序,并且还包含在MessageQueue4.
x系列以前的发行版中修复的错误.
以下各部分列出了在相应发行版中修复的错误:第27页中的"MessageQueue4.
4Update1中修复的错误"第30页中的"MessageQueue4.
4中修复的错误"第31页中的"MessageQueue4.
3中修复的错误"第32页中的"MessageQueue4.
2中修复的错误"第33页中的"MessageQueue4.
1中修复的错误"第34页中的"MessageQueue4.
0中修复的错误"MessageQueue4.
4Update1中修复的错误下表介绍了MessageQueue4.
4Update1中修复的错误.
其中一些问题标记为"(OpenMQ)",这表示该问题已在OpenMessageQueue开源项目中修复,SunGlassFishMessageQueue以此开源项目为基础.
MessageQueue4.
4Update1和较新发行版中修复的错误第1章发行说明27表1–7MessageQueue4.
4Update1中修复的错误错误描述6590909覆盖地址列表时,DIRECT模式MDB没有连接到远程代理6616704在会话内创建了很多使用方时,代理内存会增加6745761在同一XATX中使用两个连接时(通过JMSJCA),XAResource.
isSameRM()应返回true6745763在同一XATX中使用两个连接时(JMSRADIRECT模式),XAResource.
isSameRM()应返回true6745768在同一XATX中使用两个连接时(JMSRALOCAL/REMOTE),XAResource.
isSameRM()应返回true6760450如果重新引导机器时没有停止MQ(GF)实例,则会破坏消息存储库6766241UMS:SendMsg.
htmlAJAX示例将/ums用作默认上下文根目录.
应该使用/imqums6766852DirectXAResource将代理CONFLICT状态转换为"TxIDisalreadyinuse"(TxID已在使用中)6799428无法使用但可以浏览DMQ中的非持久性消息/非长期存放消息.
6799428无法使用但可以浏览DMQ中的非持久性消息/非长期存放消息.
6809353使用posgtresql(8.
1)的openmq4.
3HA不起作用(imqbrokerd无法启动)6809750客户端ID连接无法通过JMSRA进行连接入池.
6812198使用MQ主题度量监视时抛出Classcast异常6832000MQreapExcessConnectionJDBC连接进入"高CPU"自旋6833109MQClusterMonitorJMX样例应用程序在使用JDK6的AIX中抛出异常6835420NoGCDefault的默认值计算错误.
内存较低时可能导致过多GC.
6852018错误消息"Cannotadddurableconsumer{0}.
NoClientIDwassetonconnection.
"(无法添加长期使用方{0}.
连接上未设定客户端ID.
)会误导用户6856991代理重新启动然后回滚长期使用方PREPARED事务后发生NullPointerException6874125WARNING:MQJMSRA_DC2001:connectionId=555670328604044289:_destroy():对未关闭的连接调用6878945RFE:JMSBridge:允许指定用户名/密码以从连接工厂创建连接6881493不应为HA代理存储管理临时目的地6881753RFEJMSBridge:允许在传输到目标之前使用jmsbridge名称标记每条消息6884673MQ4.
4代理无法与MQ3.
7/3.
6代理建立群集连接MessageQueue4.
4Update1和较新发行版中修复的错误SunGlassFishMessageQueue4.
4Update1发行说明2009年12月28表1–7MessageQueue4.
4Update1中修复的错误(续)错误描述6886390传送至DMQ的持久/Txn发布的消息可导致从DMQ使用它们时发生"找不到mq.
sys.
dmq"错误6886515使用JMX删除嵌入式代理中的目的地时发生AccessControlException6890628设置代理属性"imq.
autocreate.
destination.
isLocalOnly=true"没有效果6891615在glassfish中运行代理4.
3时选定器并非始终正常工作6891624"imqcmdlistdst"中的"远程"消息数可大于"计数"消息数6891629选定器中出现计算异常时需要用户友好消息6891717如果imq.
transaction.
autorollback=true,则未清除autorollbackPREPARED确认会导致TransactionAckExistEx6891802接管远程tx确认后重新启动代理时,会显示"[B4061]:CannotuseTransactionID.
.
currentlyinuse"([B4061]:无法使用事务ID.
当前正在使用")6892512内存泄漏:调用tempDest.
delete()时没有从连接中删除临时目的地6895040如果主代理有临时目的地,则从代理无法在uidprefix锁定超时后启动uidprefix6896230与从代理同步后,重新启动主代理时,在主代理中创建的新使用方可能无法传播到所有代理6896764TransactionAcknowledgement中的equals方法不正确.
6898355重新启动代理时,群集管理员初始化过程中会复位接管锁定,而不等待接管完成6901405RFE:记录JDBC供应商信息和供应商属性(如果指定)16(OpenMQ)在glassfish中运行代理4.
3时选定器并非始终正常工作17(OpenMQ)使用posgtresql(8.
1)的openmq4.
3HA不起作用(imqbrokerd无法启动)22(OpenMQ)安装程序引用不存在的二进制文件并失败25(OpenMQ)创建TemporaryTopic时发生内存泄漏.
29(OpenMQ)代理隔离30(OpenMQ)"imqcmdlistdst"中的"远程"消息数可大于"计数"消息数31(OpenMQ)选定器中出现计算异常时需要用户友好消息32(OpenMQ)修复int->long溢出33(OpenMQ)OpenMQ安装程序:在ja语言环境下运行时出现"InvalidSwiXMLDescriptor"(无效的SwiXML描述符)错误MessageQueue4.
4Update1和较新发行版中修复的错误第1章发行说明29MessageQueue4.
4中修复的错误下表介绍了MessageQueue4.
4中修复的错误.
表1–8MessageQueue4.
4中修复的错误错误描述6242247如果同一计算机上的两个代理具有相同的名称,则MQ群集的主代理在启动后会挂起6760937重新启动代理时,代理不会重新连接到数据库6763252确认消息已过期/已删除消息时,代理应记录比NPE更有意义的消息6765410当长期订阅已处于活动状态时,主代理发送本地Interest2次会导致从代理出现异常6796506如果在接收远程PREPARE回复时超时,则远程PREPARED消息在回滚后不会重新传送6807708如果没有运行主代理,则TemporaryDestination.
delete会失败6812037RFE:如果MQMessageListenerFunc返回错误,则会将MQ_CALLBACK_RUNTIME_ERROR传递到afterMessageDelivery6812755如果before/afterMessageDelivery回调返回错误,则FINE级别日志消息应为WARNING6816023发生非法字符异常时,Message.
setStringProperty()异常没有显示属性名称6819095RFE:群集应支持设置输入/输出流缓冲区大小和TcpNoDelay6820585在等待远程代理完成时,"imqcmdlisttxn"没有显示COMMITTED群集事务6820588使用本地和远程消息的群集事务在等待状态中保持为COMMITTED6821639在MQRA-DIRECT模式的AS恢复期间,rollback/commitTransaction出现NPE6823364RFE:将C-API编译器升级为Solaris中的SunStudio126829113重负载下,在TuxedoTM回滚超时事务时发生ConcurrentModificationException6832197如果客户端没有请求ackack,非事务性远程确认不应等待远程回复6834735TuxedoTM超时处于START状态的txn时,出现模糊的日志消息"UnexpectedBrokerInteralError"(意外的代理内部错误)6836364如果通配符订阅者的主题先于订阅者创建,则该订阅者不会接收远程消息6836691HA(JCAPS):XA接收器回滚并提交消息之后,接收时出现"消息已删除"异常6836749HA(JCAPS):在回滚某个长期订阅并提交消息后,接收消息时出现"存储库中已存在确认"异常6837671HA(JCAPS):XAResourceImpl.
rollback在成功提交后无限重新传送已提交的消息MessageQueue4.
4Update1和较新发行版中修复的错误SunGlassFishMessageQueue4.
4Update1发行说明2009年12月30表1–8MessageQueue4.
4中修复的错误(续)错误描述6839193RFE:将C++编译器升级到VisualStudio2008SP16845625反复创建/关闭远程使用方时,代理进入低内存状态6852207向远程代理发送消息时发生的NPE导致远程代理在读取消息包时无法处理消息6853822结束FAILEDtxn时出现模糊的异常消息"CannotperformoperationEND_TRANSACTION"(无法执行操作END_TRANSACTION)6854142每3分钟就对远程代理报告一次"Waitingforclusterconnection"(等待到远程代理的群集连接)和"Closedclusterconnection"(已关闭群集连接)6858121如果存在远程txn,关于"imqcmdlisttxn"的代理日志中会出现模糊WARNING"Unknowtransaction"(未知事务)6858488如果远程参与的代理已删除其COMMITTEDtx,则COMMITTEDtxn不会从txn主代理中删除6858905Consumer.
destroyConsumer中出现ConcurrentModificationException6861362RFE:JMSBridge:支持将目标目的地自动映射到源Message.
getJMSDestination6861528RFE:JMSBridge:允许MessageTransformer.
transform()将消息分支到目标中的其他目的地6861653发送过多群集txn信息以COMMIT高txn负载下未完成的中断远程代理6862413"mq://xxx.
xxx.
xx.
xx:pppp/.
.
.
isreachablewithin60seconds"(在60秒内可以访问mq://xxx.
xxx.
xx.
xx:pppp/.
.
.
)的日志消息容易造成混淆6863867如果具有来自中断的远程代理的暂挂COMMITTED,则HA代理重新启动时发生MissingResourceException6867596如果代理再次重新启动,则代理上次重新启动后恢复的PREPAREDtxn将返回PREPARED状态6868525建立链接时,将临时目的地转发到远程代理会产生NullPointerException6868578某些广播/单点传送不检查链接是否已建立,因此干扰链接握手并导致链接中断6871612HA:如果暂挂代理中断,则使用远程消息时出现日志消息"Cantnotifytransaction.
completion.
.
"(无法通知事务已完成.
)6886391如果已删除消息,则确认消息时会发生NullPointerExceptionMessageQueue4.
3中修复的错误下表介绍了MessageQueue4.
3中修复的错误.
MessageQueue4.
4Update1和较新发行版中修复的错误第1章发行说明31表1–9MessageQueue4.
3中修复的错误错误描述6634033创建客户端时,群集协议没有将imqConsumerFlowLimit的值传递到远程代理.
6713012如果在远程代理重新启动时,群集中某个代理的使用方被销毁,则将不传送某些消息.
6727555代理日志消息"Maxbytespermsgexceeded"(超过每条消息的最大大小(字节))将实际的消息大小和每条消息的最大大小(字节)值进行了互换.
6737404JMX度量需要提供从目的地(主题和队列)分发但要传送给使用方的消息计数.
6740568当单个事务中使用的消息过多时,代理抛出异常.
6758524列出长期订阅的命令(imqcmdlistdur-d"foo.
*")不接受目的地名称中的通配符.
6758952设置imq.
portmapper.
hostname=localhost导致多个代理无法连接到一个群集中.
6758817设置imq.
cluster.
hostname=localhost(不建议使用)导致不同计算机上的代理无法连接到一个群集中.
MessageQueue4.
2中修复的错误下表介绍了MessageQueue4.
2中修复的错误.
表1–10MessageQueue4.
2中修复的错误错误描述6581592在文本模式下运行安装程序(installer–t)或卸载程序时,"摘要"屏幕将显示包含日志/摘要文件的目录,但不会列出这些文件的名称.
6585911安装程序的"JDK选择"屏幕未正确包含与安装程序捆绑在一起并用于运行安装程序的JRE.
6587112在多字节语言环境中,安装程序"摘要"屏幕显示乱码.
6587127在通过引用应答文件以运行安装程序(installer-afilename-s)时,如果该应答文件不存在,则错误消息不一致且含混不清.
6590969在客户端连接验证中允许使用DN用户名格式.
6594381如果系统上存在MessageQueue本地化RPM的旧版本,MessageQueue4.
1本地化RPM安装(通过在"多语言软件包"屏幕上选中"安装MessageQueue多语言软件包"复选框来执行此操作)将会失败.
6599144在JavaSE6上卸载MessageQueue4.
2时,闪屏和卸载程序将挂起,并且显示灰色空白屏幕,但在JavaSE5上,则可以正常工作.
6615741如果回滚在使用方事务会话中传送的消息,并且在回滚之前关闭了原始使用方,则不会重新传送这些消息.
MessageQueue4.
4Update1和较新发行版中修复的错误SunGlassFishMessageQueue4.
4Update1发行说明2009年12月32表1–10MessageQueue4.
2中修复的错误(续)错误描述6629922分布式事务处理程序未按正确的顺序将消息重新传送到非活动使用方.
6635130代理在由于目的地已达到内存限制或消息限制而暂停后,不能通知非持久性消息的生成方恢复生成操作.
6641117如果回滚在使用方事务会话中传送的消息,并且在回滚之后关闭了原始使用方,则不会重新传送这些消息.
6683897尽管配置显示已成功完成,但MessageQueue安装程序的"摘要"屏幕却报告以下配置错误:在某些计算机上,安装程序无法写入/dev/sterr.
6684069对于在使用方事务中将大量消息传送到远程客户端的代理群集,无法提交事务.
6688935端口映射器读取超时的默认值太小.
6695238如果代理的安装路径中包含空格,C客户端应用程序将无法连接到该代理.
6710168如果目的地暂停两次并且在两次暂停之间未进行恢复,使用方将不再使用消息.
6710169JMX操作ConsumerManagerMonitor.
getConsumerInfo始终为确认模式返回SESSION_TRANSACTED.
MessageQueue4.
1中修复的错误下表介绍了MessageQueue4.
1中修复的错误.
表1–11MessageQueue4.
1中修复的错误错误描述6381703如果传送消息的代理重新启动,则可能会两次提交处理的远程消息.
6388049无法清除未完成的分布式事务.
6401169imqcmd的提交和回滚选项不提示进行确认.
6473052自动创建的队列的默认设置应该为循环传送.
(MaxNumberConsumers=-1).
6474990代理日志显示imqcmdlistdst命令发生了ConcurrentModificationException.
6487413限制行为是REMOVE_OLDEST或REMOVE_LOWER_PRIORITY时发生内存泄漏.
6488340代理自旋,并且客户端等待确认回复.
6502744代理不遵循停用消息队列具有1000个消息的默认限制.
6517341当客户端连接到增强的代理群集时,客户端运行时环境需要改进重新连接逻辑,以便允许客户端重新连接,而无论imqReconnectEnabled属性值是什么.
6528736Windows自动启动服务(imqbrokersvc)在启动过程中崩溃.
MessageQueue4.
4Update1和较新发行版中修复的错误第1章发行说明33表1–11MessageQueue4.
1中修复的错误(续)错误描述6561494当两个使用方共享一个会话时,消息将传送到错误的使用方.
6567439如果在代理重新启动后提交PREPARED事务中生成的消息,这些消息的传送顺序就会不正确.
MessageQueue4.
0中修复的错误下表介绍了MessageQueue4.
0中修复的错误.
表1–12MessageQueue4.
0中修复的错误错误号描述4986481在MessageQueue3.
5中调用Session.
recover时,可能会在自动重新连接模式下挂起.
4987325在调用Session.
recover后,将重新传送的消息的Redelivered标志设置为false.
6157073将新连接消息更改为既包含总连接数,也包含服务上的连接数.
6193884在使用非ASCII字符显示消息的语言环境中,MessageQueue向系统日志输出垃圾消息.
6196233无法使用JMSMessageID选择消息.
6251450在群集关闭过程中,connectList出现ConcurrentModificationException.
6252763java.
nio.
HeapByteBuffer.
putLong/Int出现java.
nio.
BufferOverflowException.
6260076使用Oracle存储库,在代理启动后的第一条消息发布完后,消息发布速度变得很慢.
6260814对JMSXUserID进行处理的选择器始终得到false值.
6264003队列浏览器显示属于尚未提交的事务的消息.
6271876关闭具有未使用消息的使用方时,连接流控制无法正常工作.
6279833MessageQueue不允许两个代理使用相同的JDBC表.
6293053除非清除存储库中的内容(使用—resetstore),否则当系统的IP地址更改时,主代理将无法正确启动.
6294767MessageQueue代理需要在其打开的网络套接字上设置SO_REUSEADDR.
6304949无法设置TopicConnectionFactory的ClientID6307056txn日志成为性能瓶颈.
6320138MessageQueueCAPI无法确定回复标头中的队列名称.
MessageQueue4.
4Update1和较新发行版中修复的错误SunGlassFishMessageQueue4.
4Update1发行说明2009年12月34表1–12MessageQueue4.
0中修复的错误(续)错误号描述6320325即使在Solaris上同时安装了JDK1.
4和JDK1.
5,代理有时也会选取前者.
6321117多代理群集初始化抛出java.
lang.
NullPointerException.
6330053从订户提交事务时,JMS客户端抛出java.
lang.
NoClassDefFoundError.
6340250支持C-API中的MESSAGE类型.
6351293添加对ApacheDerby数据库的支持.
MessageQueue4.
4Update1中的文档更新本部分包含有关MessageQueue4.
4Update1文档更新的信息:第35页中的"兼容性问题"第36页中的"MessageQueue4.
4Update1文档集中的更改"兼容性问题本部分包含有关MessageQueue4.
4Update1的兼容性问题.
接口稳定性SunGlassFishMessageQueue使用的许多接口可能会随着时间的变化而发生更改.
《SunGlassFishMessageQueue4.
4AdministrationGuide》中的附录B"StabilityofMessageQueueInterfaces"根据稳定性对接口进行了分类.
接口越稳定,在产品的后续版本中对其进行更改的可能性就越小.
与MessageQueue的下一个主要发行版相关的问题MessageQueue的下一个主要发行版可能新增一些更改,这些更改会使当前的MessageQueue客户端应用程序与该发行版不兼容.
提前提供此信息是为了使用户早做准备.
作为SunGlassFishMessageQueue的一部分进行安装的个别文件的位置可能会发生更改.
如果现有的应用程序依赖于某些MessageQueue文件的当前位置,则这些应用程序可能会中断.
MessageQueue3.
5及更早版本的代理可能无法再在具有较高版本代理的群集中运行.
在以后的发行版中,MessageQueue客户端可能无法使用早于1.
5的JDK版本.
在以后的发行版中,MessageQueue客户端可能无法使用早于1.
6的JDK版本.
MessageQueue4.
4Update1中的文档更新第1章发行说明35MessageQueue4.
4Update1文档集中的更改MessageQueue4.
4Update1文档集包含对MessageQueue4.
4文档集所做的更新,如下所述:技术概述《SunGlassFishMessageQueue4.
4TechnicalOverview》反映了MessageQueue4.
4中的新增功能.
管理指南《SunGlassFishMessageQueue4.
4AdministrationGuide》包含次要的错误修复程序,并反映了MessageQueue4.
4中的新增功能.
适用于Java客户端的开发者指南《SunGlassFishMessageQueue4.
4Developer'sGuideforJavaClients》包含次要的错误修复程序.
适用于C客户端的开发者指南《SunGlassFishMessageQueue4.
4Developer'sGuideforCClients》包含次要的错误修复程序.
适用于JMX客户端的开发者指南《SunGlassFishMessageQueue4.
4Developer'sGuideforJMXClients》反映了新增的MessageQueue产品名称和版本号.
已知问题和限制本部分包含了MessageQueue4.
4Update1中已知问题的列表.
涵盖以下产品领域:第37页中的"安装问题"第42页中的"过时的密码选项"第43页中的"管理/配置问题"第44页中的"代理问题"第45页中的"代理群集"第47页中的"JMX问题"第47页中的"SOAP支持"有关当前错误、错误的状态和解决方法的列表,JavaDeveloperConnectionTM成员应参见JavaDeveloperConnectionWeb站点上的BugParade页.
在报告新的错误之前请先查看该页.
虽然未列出所有的MessageQueue错误,但如果您想了解是否已报告了某个问题,可以将该页作为一个很好的起点.
已知问题和限制SunGlassFishMessageQueue4.
4Update1发行说明2009年12月36http://bugs.
sun.
com/bugdatabase/index.
jsp注–可以免费获得JavaDeveloperConnection成员资格,但需要进行注册.
有关如何成为JavaDeveloperConnection成员的详细信息,请访问Sun的"ForDevelopers"Web页.
要报告新错误或提交功能请求,请向imq-feedback@sun.
com发送电子邮件.
安装问题本部分介绍了与安装MessageQueue版本4.
4Update1相关的问题.
产品注册表和JavaES与MessageQueue4.
2和4.
1类似,MessageQueue4.
4是由相对较新的安装程序安装的,该安装程序还可安装并升级MessageQueue所需的JavaEnterpriseSystem(JavaES)共享组件,例如JDK、NSS和JavaHelp等.
新MessageQueue安装程序和旧JavaES安装程序(用于安装以前的MessageQueue版本)不能共享同一个产品注册表.
如果以MessageQueue安装程序删除通过JavaES安装程序安装的MessageQueue版本并随后安装MessageQueue4.
4,则JavaES产品注册表可能会处于不一致的状态.
因此,如果运行JavaES卸载程序,它可能会误删MessageQueue4.
4及其依赖的共享组件,即使这些内容并不是它安装的.
升级JavaES安装程序所安装的MessageQueue软件的最佳方法如下所示.
1.
使用JavaES卸载程序删除MessageQueue及其共享组件.
2.
使用MessageQueue安装程序安装MessageQueue4.
4.
在所有平台上进行安装这些问题会影响所有平台上的安装.
"准备安装"屏幕将产品名称显示为"mq"而不是SunJavaSystemMessageQueue4.
3.
(错误6650841)当安装程序正在安装MessageQueue4.
3并显示"进度"屏幕时,"取消"按钮处于活动状态.
如果此时选择"取消"按钮,则会导致安装不完整或中断.
(错误6595578)安装程序"摘要"屏幕包含一些链接,单击这些链接时将启动日志或摘要页面查看器.
如果使用窗口关闭按钮"X"关闭此查看器窗口,而不是使用标有"关闭"的按钮,则无法重新打开此查看器窗口.
(错误6587138)解决方法:使用标有"关闭"的按钮关闭此窗口.
如果在执行了跳过注册步骤的无提示安装后以仅注册模式(installer-r)运行安装程序,则会导致注册失败,同时显示"Prematureendoffile"(文件过早结束)错误.
(错误6767988)已知问题和限制第1章发行说明37在未安装JDK的计算机上运行MessageQueue安装程序时,会显示以下错误消息:"InvalidrootinregistrykeyHKLM\SOFTWARE\JavaSoft\JavaRuntimeEnvironment\CurrentVersion"(注册表主键HKLM\SOFTWARE\JavaSoft\JavaRuntimeEnvironment\CurrentVersion中的根目录无效).
(错误6764358)解决方法:在运行安装程序之前安装JDK.
在单击"准备安装"屏幕上的"安装"按钮之前,MessageQueue安装程序已创建了mqInstallHome目录.
(错误6595590)在Windows上进行安装在Windows上安装MessageQueue时,请注意以下限制.
Windows平台上的MessageQueue4.
3安装目录结构不同于以前发行版的目录结构.
请参见《SunJavaSystemMessageQueue4.
3InstallationGuide》中的"InstalledDirectoryStructure".
安装程序没有在"开始">"程序"菜单中添加MessageQueue条目.
(错误6567258)解决方法:要启动管理控制台,请使用《SunGlassFishMessageQueue4.
4AdministrationGuide》中的"StartingtheAdministrationConsole"所示的命令行.
安装程序没有将IMQ_HOME\mq\bin目录添加到PATH环境变量中.
(错误6567197)解决方法:在调用MessageQueue实用程序(IMQ_HOME\mq\bin\command)时,用户需要将此条目添加到其PATH环境变量中,或者提供完整的路径名.
安装程序没有将条目添加到Windows注册表中,以表明安装了MessageQueue.
(错误6586389)安装程序没有将MessageQueue代理添加为Windows服务.
解决方法:使用imqsvcadm命令手动将MessageQueue代理添加为Windows服务.
如果没有安装JDK,安装程序会抛出以下错误:"InvalidrootinregistrykeyHKLM\\SOFTWARE\\JavaSoft\\JavaRuntimeEnvironment\\CurrentVersion"(注册表主键HKLM\\SOFTWARE\\JavaSoft\\JavaRuntimeEnvironment\\CurrentVersion中的根目录无效).
(错误6764358)解决方法:如果出现此错误,则安装JDK,然后继续操作.
在无提示模式下使用应答文件运行安装程序时,该程序将立即返回.
确实执行了安装;但用户无法知道无提示安装实际上是何时完成的.
(错误6586560)安装程序在C:\上安装MessageQueue,即使操作系统安装在其他驱动器上也是如此.
(错误6673511)对于Windows上的安装和卸载,用户无法运行.
bat文件,也无法使用Windows控制面板中的"添加/删除程序"进行卸载.
(错误6673417)在WindowsVista上,无法在C:\ProgramFiles下安装MessageQueue,除非以管理员身份从命令提示符进行安装.
(错误6701661)解决方法:以管理员身份通过命令提示符进行安装:1.
"开始"→"程序"→""→"命令提示符".
已知问题和限制SunGlassFishMessageQueue4.
4Update1发行说明2009年12月382.
右键单击"命令提示符".
3.
选择"以管理员身份运行".
4.
转到MessageQueue4.
2安装映像所在的目录.
5.
运行installer.
vbs.
在模拟运行模式下运行卸载程序(uninstaller-n)时,它将错误地执行卸载.
(错误6719051)解决方法:使用以下命令执行无提示安装:uninstaller-s安装程序主目录页上的"InstallHome"字符串没有进行本地化.
(错误6592491)基于Zip的MessageQueue卸载程序在Windows2003上挂起.
(错误6764370)解决方法:手动删除mqInstallHome目录.
在Solaris上进行安装在模拟运行模式(installer–n)下运行安装程序时,"摘要"屏幕会显示一些错误消息,并且还会显示"不完整"安装状态.
这是不正确的并且会误导用户;模拟运行不会在系统上安装任何内容;它仅创建一个可随后用于执行无提示安装的应答文件.
(错误6594351)在无提示安装模式下使用应答文件运行安装程序(installer-afilename-s)时,该程序不执行SunConnection注册.
(错误6710268)在Linux上进行安装以下问题会影响Linux平台上的安装:在RedHatLinux5上,运行C客户端应用程序所需的compat-libstdc++库未包含在MessageQueue分发包中,因此MessageQueue安装程序未对其进行安装.
如果要开发并运行C客户端,则需要手动安装此库.
通常,在您所用的Linux版本的安装介质中,可以找到compat-libstdc++rpm.
可使用以下命令对其进行安装:rpm-ivhcompat-libstdc++-x-x.
x.
x.
x.
.
rpm其中x表示版本号.
要检查是否已成功安装该库,请使用以下命令:rpm-qa|grepcompat-libstdc++在RedHatLinux5上,C客户端可能失败,并且出现PR_LOAD_LIBRARY_ERROR错误(错误6885978)在RedHatLinux5上,C客户端可能失败,并且显示与以下消息类似的消息:"PreparingforNSSinitialization.
.
.
""InitializingNSS.
.
.
"已知问题和限制第1章发行说明39"Couldnotconnecttobrokerbecause'PR_LOAD_LIBRARY_ERROR'(-5977).
"producer():Error:PR_LOAD_LIBRARY_ERROR此错误是由无法访问NSS/NSPR库而导致的.
要解决此问题,请将LD_LIBRARY_PATH环境变量设置为包括NSS/NSPR库的路径,即IMQ_HOME/nss/lib.
在"JDK选择"面板上,滚动列表仅显示一项.
这使得在列表中选择其他JDK变得非常困难.
(错误6584735)如果JDK是最新的,并且用户在"JDK选择"屏幕上选择了"安装默认JDK",则安装程序仍会尝试安装JDK,并报告无法安装软件包.
尽管出现此问题,但安装已成功完成.
(错误6581310)如果当前安装的JDK版本比JDK1.
5.
0_15(MessageQueue安装程序通常安装的版本)高,MessageQueue卸载程序将找不到默认的IMQ_JAVAHOME目录并返回错误.
(错误6673415)解决方法:在运行MessageQueue卸载程序之前,按如下所述手动安装JDK1.
5.
#cdinstallImage/Product/UNIX/LINUX/X86/2.
4/Packages#rpm-i--forcejdk-1.
5.
0_15–linux-arch.
rpm其中arch为i586或amd64.
在模拟运行模式(installer–n)下运行安装程序时,"摘要"屏幕会显示一些错误消息,并且还会显示"不完整"安装状态.
这是不正确的并且会误导用户;模拟运行不会在系统上安装任何内容;它仅创建一个可随后用于执行无提示安装的应答文件.
(错误6594351)安装程序中的版本异常安装程序未明确显示MessageQueue版本信息.
(错误6586507)Solaris平台在Solaris平台上,请参见下表以确定安装程序显示的MessageQueue版本.
表1–13版本字符串转换SolarisOS上的安装程序显示的版本对应的MessageQueue发行版4.
4.
1.
04.
4Update14.
4.
0.
04.
44.
3.
0.
04.
34.
2.
0.
04.
24.
1.
0.
24.
1Patch2已知问题和限制SunGlassFishMessageQueue4.
4Update1发行说明2009年12月40表1–13版本字符串转换(续)SolarisOS上的安装程序显示的版本对应的MessageQueue发行版4.
1.
0.
14.
1Patch14.
1.
0.
04.
13.
7.
2.
13.
7UR2Patch13.
7.
0.
23.
7UR23.
7.
0.
13.
7UR13.
6.
0.
03.
63.
6.
0.
43.
6SP43.
6.
0.
33.
6SP33.
6.
0.
23.
6SP23.
6.
0.
13.
6SP1注–对于3.
6SP4修补程序发行版(如3.
6SP4Patch1),安装程序显示的发行版字符串保持不变.
您需要运行imqbrokerd-version命令以确定确切的版本.
Linux平台在Linux平台上,安装程序显示的版本号采用以下格式.
majorReleaseNumber.
minorReleaseNumber-someNumber例如,3.
7–22.
它仅告诉我们这是3.
7发行版之一,但没有指出具体的版本.
要确定安装的MessageQueue版本,请运行以下命令:imqbrokerd-version.
本地化问题以下问题与本地化问题有关.
在非英语语言环境中以文本模式运行安装程序(installer–t)时,多字节字符将显示为乱码.
(错误6586923)在安装程序"进度"屏幕上,进度栏显示奇怪的字符.
在非英语语言环境中,工具提示是固定编码的.
(错误6591632)无论在哪种语言环境中运行安装程序,安装程序的"许可证"屏幕都会显示英语许可证文本.
(错误6592399)解决方法:要访问本地化的许可证文件,请查看LICENSE_MULTILANGUAGE.
pdf文件.
已知问题和限制第1章发行说明41未本地化安装程序使用帮助文本.
(错误6592493)安装程序摘要HTML页上显示的字符串"None"是用英语固定编码的.
(错误6593089)在德语语言环境中运行安装程序时,"欢迎"屏幕未显示在其他语言环境中看到的完整文本.
(错误6592666)安装程序"安装主目录"屏幕上显示的字符串"InstallHome"没有进行本地化.
即使在非英语语言环境中运行安装程序,也会以英语显示该字符串.
(错误6592491)在文本模式下运行安装程序(installer–t)时,无论在哪种语言环境中运行安装程序,都会使用英语响应选项"Yes"和"No".
(错误6593230)安装程序"JDK选择"屏幕上的浏览器按钮工具提示是使用英语固定编码的.
(错误6593085)过时的密码选项在以前版本的MessageQueue中,可以对以下命令使用—p或—password选项以交互方式指定密码:imqcmd、imqbrokerd和imdbmgr.
从4.
0版开始,将不再使用这些选项.
您可以创建一个密码文件以指定相关密码并使用-passfile命令选项引用该密码文件,或者在出现命令提示时直接输入密码.
密码文件可以包含以下列出的一个或多个密码.
用于打开SSL密钥库的密钥库密码.
可使用imq.
keystore.
password属性指定此密码.
LDAP系统信息库密码,用于在非匿名连接的情况下与LDAP目录进行安全连接.
可使用imq.
user_repository.
ldap.
password属性指定此密码.
用于连接到符合JDBC的数据库的JDBC数据库密码.
可使用imq.
persist.
jdbc.
vendorName.
password属性指定此密码.
属性名称的vendorName组件是用于指定数据库供应商的变量.
选项包括hadb、derby、pointbase、oracle或mysql.
imqcmd命令(用于执行代理管理任务)的密码.
可使用imq.
imqcmd.
password属性指定此密码.
在以下示例中,在密码文件中将JDBC数据库的密码设置为abracadabra.
imq.
persist.
jdbc.
mysql.
password=abracadabra可通过以下某种方法使用密码文件.
通过在代理的config.
properties文件中设置以下属性,将代理配置为使用密码文件.
imq.
passfile.
enabled=trueimq.
passfile.
dirpath=passwordFileDirectoryimq.
passfile.
name=passwordFileName已知问题和限制SunGlassFishMessageQueue4.
4Update1发行说明2009年12月42使用相关命令的-passfile选项,例如:imqbrokerd-passfilepasswordFileName管理/配置问题以下是有关管理和配置MessageQueue的问题.
在Windows平台上,您需要使用imqsvcadm命令将MessageQueue代理手动添加为Windows服务.
安装程序不会为您执行此操作.
在Windows平台上,必须使用防火墙规则手动配置内置的Windows防火墙(默认情况下处于启用状态),以允许代理接受从客户端传入的连接.
(错误6675595)1.
在控制面板中双击"Windows防火墙".
必须在"用户帐户控制"对话框中单击"继续"才能打开"Windows防火墙设置"对话框.
2.
在"Windows防火墙设置"对话框中,单击"例外"选项卡.
3.
单击"添加程序".
4.
在"添加程序"对话框中,选择java.
exe,然后单击"浏览".
Windows将代理进程标识为JavaPlatformSE二进制文件.
因此,请查找代理使用的java.
exe(通常位于jdk1.
5.
0_15\jre\bin\java.
exe).
5.
单击"更改范围".
6.
在"更改范围"对话框中,选择"任何计算机(包括Internet上的计算机)".
7.
单击"确定".
8.
在"添加程序"对话框中,单击"确定".
9.
在"Windows防火墙设置"对话框中,单击"确定".
在Windows平台上,当CLASSPATH包含双引号时,imqadmin和imqobjmgr命令将抛出错误.
(错误5060769)解决方法:打开命令提示符窗口并取消设置CLASSPATH:setclasspath=然后,在相同的命令提示符窗口中运行所需的命令,例如:mqInstallHome\mq\bin\imqadmin如果提供的值中包含空格,则所有Solaris和Windows脚本中的-javahome选项都不起作用.
(错误4683029)MessageQueue命令和实用程序使用javahome选项来指定要使用的备用Java2兼容运行时.
但是,备用Java运行时的路径名不能包含空格.
以下是包含空格的路径示例.
Windows:C:\jdk1.
4Solaris:/work/java1.
4已知问题和限制第1章发行说明43解决方法:在不包含空格的位置或路径中安装Java运行时环境.
imqQueueBrowserMaxMessagesPerRetrieve属性指定客户端运行时环境在浏览队列的内容时一次检索到的最大消息数.
该属性影响将排队消息成批传送到客户端运行时环境的方式,而不会影响浏览的消息总数.
该属性仅影响浏览机制,而不影响队列消息传送.
(错误6387631)在运行SELinux的Linux平台上,更新中心pkg命令失败(错误6892062)解决方法:此问题是由更新中心中的已知问题(https://updatecenter2.
dev.
java.
net/issues/show_bug.
cgiid=1211)所导致的.
使用以下命令以使pkg在启用强制执行的情况下在SELinux上正常工作:#chcon-f-ttextrel_shlib_t$IMAGE/pkg/vendor-packages/OpenSSL/crypto.
so代理问题以下问题将影响MessageQueue代理.
MessageQueue4.
4客户端在连接到MessageQueue3.
7代理时收到模糊的警告(错误6899886)MessageQueue4.
4客户端连接到MessageQueue3.
7代理时,客户端会收到以下形式的警告:WARNING[I500]:CaughtJVMexception:.
.
.
[C4036]:Abrokererroroccurred.
:[505]badversion.
.
.
此"badversion"警告表示客户端应以较低协议级别重新连接到代理.
使用JDBC数据存储库时,数据库密码以明文形式存储(错误6691717)解决方法:如《SunGlassFishMessageQueue4.
4AdministrationGuide》中的"PasswordFiles"中所述,保护包含数据库密码的密码文件.
如果持久性数据存储库打开过多目的地,将无法访问代理.
(错误4953354)解决方法:这种情况是由于代理达到了系统打开文件描述符限制所致.
在Solaris和Linux上可使用ulimit命令来增加文件描述符限制.
目的地被销毁后,使用方将被孤立.
(错误5060787)目的地被销毁后,活动的使用方将被孤立.
使用方孤立后,他们将不再接收消息(即使重新创建了目的地).
使用HTTP连接服务的JMS客户端突然终止时(例如,使用Ctrl-C组合键),代理要花费大约一分钟的时间才能释放客户端连接和所有关联的资源.
如果在这一分钟内客户端的另一个实例启动,并且该实例尝试使用同一个客户端ID、长期订阅或队列,则可能会收到"客户端ID已经在使用"的异常.
这实际上不是什么问题,只是上述终止过程的副作用.
如果客户端在延迟约一分钟后启动,则应当一切正常.
已知问题和限制SunGlassFishMessageQueue4.
4Update1发行说明2009年12月44将MySQL数据库用作数据存储库时,如果存储的消息超过1MB,则会抛出"Packetforqueryistoolarge.
.
.
"(查询数据包太大.
.
.
)SQL异常.
(错误6682815)解决方法:启动MySQL服务器并将--max_allowed_packet选项的值设置为大于1MB(默认值).
例如,使用以下值:--max_allowed_packet=60M将MySQL数据库用作高可用性共享数据存储库时,需要使用一种机制将MySQL存储引擎配置为NDBCLUSTER.
(错误6691394)解决方法:将以下属性值添加到代理的config.
properties文件中(请参见《SunGlassFishMessageQueue4.
4AdministrationGuide》中的"EnhancedClusters:JDBCConfigurationProperties")imq.
persist.
jdbc.
mysql.
tableoption=EMGINE=NDBCLUSTER在使用Oracle9i(JDBC9.
2.
0.
x)驱动程序时,代理会抛出"Failedtopersistproperty.
.
.
"(未能使属性保持持久.
.
.
)异常.
(错误6626825)解决方法:使用Oracle10g(JDBC10.
2.
0.
x)驱动程序,已针对该驱动程序优化了代理.
imq.
persist.
jdbc.
derby.
table.
MYCONSTATE41.
index.
IDX2=CREATEINDEX&(index)ON$(name)(MESSAAGE_ID)如果将JavaDB数据库用作数据存储库,则会在存储消息时抛出以下SQL异常:"无法在请求的时间内获取锁定".
(错误6691394)解决方法:在代理的config.
properties文件中添加以下属性值:imq.
persist.
jdbc.
derby.
table.
MYCONSTATE41.
index.
IDX2=CREATEINDEX&(index)ON$(name)(MESSAAGE_ID)在AIX上使用IBMJVM时,代理有时会进入低内存或RED内存状况,而原因尚不明确(错误6899526)解决方法:使用最新版本的IBMJVM(JavaRuntime1.
6.
0IBMCorporation或更高版本),并将以下IBMJVMGC选项传递到imqbrokerd:#imqbrokerd-vmargs-Xgcpolicy:gencon代理群集以下问题影响代理群集.
如果异常终止,则无法重新启动使用MySQL群集数据存储库的高可用性代理(错误6896877)解决方法:此问题由MySQL群集中的已知问题(http://bugs.
mysql.
com/bug.
phpid=47955)导致.
MySQL版本5.
1.
39-ndb-6.
3.
28、5.
1.
39-ndb-7.
0.
9和5.
1.
39-ndb-7.
1.
0已修复此问题.
已知问题和限制第1章发行说明45本发行版中只支持完全连接的代理群集.
这意味着群集中的每个代理均必须与群集中的其他所有代理直接通信.
如果使用imqbrokerd-cluster命令行参数将代理连接到传统群集,请务必小心以确保包含了群集中的所有代理.
如果将客户端连接到增强的代理群集中的代理,客户端运行时环境将尝试重新连接,直至成功为止(它忽略imqAddressListIterations连接工厂属性的值).
客户端只能浏览位于其主代理上的队列内容.
此客户端仍可以向任何队列发送消息,或使用来自群集中任何队列的消息,此限制只影响队列浏览.
在包含4.
3版代理的传统群集中,所有代理必须为3.
5或更高版本.
默认情况下,群集中的MessageQueue4.
3、4.
2和4.
1代理无法与MessageQueue3.
7或3.
6代理进行互操作,因为这些版本的imq.
autocreate.
queue.
maxNumActiveConsumers默认值并不相同.
(错误6716400)解决方法:更改imq.
autocreate.
queue.
maxNumActiveConsumers的值以确保所有代理具有相同的值,这通常是通过更改MessageQueue4.
3、4.
2和4.
1配置以与3.
7或3.
6代理所使用的配置相匹配来实现的(默认情况下,从值-1更改为以前版本的默认值1).
要将MessageQueue4.
3(或4.
x)代理添加到MessageQueue3.
x代理群集中,必须运行主代理.
(错误6763796)在从传统群集转换为增强的群集时,可以按照《SunGlassFishMessageQueue4.
4AdministrationGuide》中的"ClusterConversion:JDBC-BasedDataStore"所述,使用MessageQueue数据库管理器实用程序(imqdbmgr)将现有的基于JDBC的独立数据存储库转换为共享JDBC数据存储库.
使用HADB的代理无法处理大于10MB的消息.
(错误6531734)如果HADB存储库存储的消息超过10,000个,则使用imqdbmgrupgradehastore命令转换为HADB存储库的操作可能会失败,并显示"设置的锁定太多"消息.
(错误6588856)解决方法:使用以下命令增加锁定数.
hadbmsetNumberOfLocks=有关其他信息,请参见SunJavaSystemApplication.
Server9.
1EnterpriseEditionTroubleshootingGuide中的"HADBProblems".
如果在一个事务中提交的远程消息超过500个,代理可能会返回错误"HADB-E-12815:Tablememoryspaceexhausted"(HADB-E-12815:表内存空间已用尽).
(错误6550483)有关其他信息,请参见SunJavaSystemApplication.
Server9.
1EnterpriseEditionTroubleshootingGuide中的"HADBProblems".
在代理群集中,代理会对要传送到尚未打开的远程连接的消息进行排队.
(错误4951010)解决方法:一旦打开远程连接,这些消息将会由使用方接收.
如果该使用方的连接保持关闭状态,这些消息将重新传送给另一个使用方.
已知问题和限制SunGlassFishMessageQueue4.
4Update1发行说明2009年12月46如果在一个事务中使用多个来自远程代理的消息,则可能会在该代理中记录以下错误消息.
该消息是无害的,可以将其忽略:[26/Jul/2007:13:18:27PDT]WARNING[B2117]:Messageacknowledgementfailedfrommq://129.
145.
130.
95:7677/instName=a&brokerSessionUID=3209681167602264320:ackStatus=NOT_FOUND(404)\Reason=UpdateremotetransactionstatetoCOMMITED(6):transaction3534784765719091968notfound,thetransactionmayhavealreadybeencommitted.
AckType=MSG_CONSUMEDMessageBrokerSession=3209681167602264320TransactionID=3534784765719091968SysMessageID=8-129.
145.
130.
95(95:fd:93:91:ec:a0)-33220-1185481094690ConsumerUID=3534784765719133952\par[26/Jul/2007:13:18:27PDT]WARNINGNotifycommittransaction[8-129.
145.
130.
95(95:fd:93:91:ec:a0)-33220-1185481094690,[consumer:3534784765719133952,type=NONE]]TUID=3534784765719091968gotresponse:com.
sun.
messaging.
jmq.
jmsserver.
util.
BrokerException:UpdateremotetransactionstatetoCOMMITED(6):transaction3534784765719091968notfound,thetransactionmayhavealreadybeencommitted.
:com.
sun.
messaging.
jmq.
jmsserver.
util.
BrokerException:UpdateremotetransactionstatetoCOMMITED(6):transaction3534784765719091968notfound,thetransactionmayhavealreadybeencommitted.
r如果imq.
txn.
reapLimit属性与一个事务中的远程消息数相比较小,当通知将事务中的后续消息提交到消息主代理时,将会记录此消息.
(错误6585449)解决方法:要避免出现此消息,请增大imq.
txn.
reapLimit属性的值.
JMX问题在Windows平台上,事务管理器监视MBean的getTransactionInfo方法将返回具有错误事务创建时间的事务信息.
(错误6393359)解决方法:改用事务管理器监视MBean的getTransactionInfoByID方法.
SOAP支持您需要注意与SOAP支持有关的两个问题从MessageQueue4.
0发行版开始,将不再为SOAP管理的对象提供支持.
已知问题和限制第1章发行说明47SOAP开发依赖于以下几个文件:SUNWjaf、SUNWjmail、SUNWxsrt和SUNWjaxp.
在MessageQueue4.
1版中,仅当运行带有JDK1.
6.
0或更高版本的MessageQueue时,才能使用这些文件.
以前,SAAJ1.
2实现.
jar直接引用mail.
jar.
在SAAJ1.
3中删除了此引用,因此MessageQueue客户端必须将mail.
jar明确放入CLASSPATH中.
可再分发的文件SunGlassFishMessageQueue4.
4Update1中包含以下一组文件,您可以使用这些文件,并以二进制格式自由分发它们:fscontext.
jarimq.
jarimqjmx.
jarimqxm.
jarimqums.
warjaxm-api.
jarjms.
jarlibmqcrt.
sl(HP-UX)libmqcrt.
so(UNIX)mqcrt1.
dll(Windows)此外,还可以再分发LICENSE和COPYRIGHT文件.
为残疾人士提供的辅助功能欲获得自本介质发行以来所发布的辅助功能,请联系Sun索取有关"Section508"法规符合性的产品评估文档,以便确定哪些版本最适合部署辅助功能解决方案.
可以在http://sun.
com/software/javaenterprisesystem/get.
html找到应用程序的更新版本.
有关Sun在辅助功能方面所做出的努力,请访问http://sun.
com/access.
如何报告问题和提供反馈如果您在使用SunGlassFishMessageQueue期间遇到问题,请通过以下方式与Sun客户支持部门联系.
位于http://www.
sun.
com/service/sunone/software的Sun软件支持联机服务.
此站点上有一些链接,通过这些链接可以访问知识库、联机支持中心和ProductTracker,还可了解维护方案以及用于联系支持部门的电话号码.
随维护合同一起分发的电话号码.
为了使我们能更好地帮助您解决问题,请在联系客户支持时提供以下信息:问题描述,包括问题出现时的情况及其对您的操作的影响.
计算机类型、操作系统版本和产品版本,包括可能影响问题的所有修补程序和其他软件.
可再分发的文件SunGlassFishMessageQueue4.
4Update1发行说明2009年12月48用来再现该问题的详细步骤.
所有错误日志或核心转储.
SunGlassFish软件论坛以下位置提供了一个SunGlassFishMessageQueue论坛:http://swforum.
sun.
com/jive/forum.
jspaforumID=24我们欢迎您的参与.
Java技术论坛您可能会对Java技术论坛中的JMS论坛感兴趣.
http://forum.
java.
sun.
comSun欢迎您提出意见Sun致力于提高其文档的质量,并十分乐意收到您的意见和建议.
要共享您的意见,请访问http://docs.
sun.
com,并单击"SendComments".
在联机表单中,请提供文档标题和文件号码.
文件号码是一个七位或九位的数字,可以在书的标题页或文档的顶部找到.
例如,本书的书名是《发行说明》,文件号码是821-1516-10.
其他Sun资源从以下Internet位置可以找到有用的SunGlassFish信息:文档http://docs.
sun.
com/prod/java.
sys专业服务http://www.
sun.
com/service/sunps/sunone软件产品和服务http://www.
sun.
com/software软件支持服务http://www.
sun.
com/service/sunone/software支持和知识库其他Sun资源第1章发行说明49http://www.
sun.
com/service/support/softwareSun支持和培训服务http://training.
sun.
com咨询和专业服务http://www.
sun.
com/service/sunps/sunone开发者信息http://developers.
sun.
comSun开发者支持服务http://www.
sun.
com/developers/support软件培训http://www.
sun.
com/software/training其他Sun资源SunGlassFishMessageQueue4.
4Update1发行说明2009年12月50

PIGYun中秋特惠:香港/韩国VPS月付14元起

PIGYun发布了九月份及中秋节特惠活动,提供8折优惠码,本月商家主推中国香港和韩国机房,优惠后最低韩国每月14元/中国香港每月19元起。这是一家成立于2019年的国人商家,提供中国香港、韩国和美国等地区机房VPS主机,基于KVM架构,采用SSD硬盘,CN2+BGP线路(美国为CUVIP-AS9929、GIA等)。下面列出两款主机配置信息。机房:中国香港CPU:1core内存:1GB硬盘:10GB...

小白云 (80元/月),四川德阳 4核2G,山东枣庄 4核2G,美国VPS20元/月起三网CN2

小白云是一家国人自营的企业IDC,主营国内外VPS,致力于让每一个用户都能轻松、快速、经济地享受高端的服务,成立于2019年,拥有国内大带宽高防御的特点,专注于DDoS/CC等攻击的防护;海外线路精选纯CN2线路,以确保用户体验的首选线路,商家线上多名客服一对一解决处理用户的问题,提供7*24无人全自动化服务。商家承诺绝不超开,以用户体验为中心为用提供服务,一直坚持主打以产品质量用户体验性以及高效...

提速啦(24元/月)河南BGP云服务器活动 买一年送一年4核 4G 5M

提速啦的来历提速啦是 网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑 由赣州王成璟网络科技有限公司旗下赣州提速啦网络科技有限公司运营 投资1000万人民币 在美国Cera 香港CTG 香港Cera 国内 杭州 宿迁 浙江 赣州 南昌 大连 辽宁 扬州 等地区建立数据中心 正规持有IDC ISP CDN 云牌照 公司。公司购买产品支持3天内退款 超过3天步退款政策。提速啦的市场定位提速啦主...

端口映射器为你推荐
支持ipadthinkphpthinkPHP怎么样呢搜狗360360浏览器为什么不能让我自动登录了cisco2960配置cisco 2960 配置VLAN上网360公司迁至天津公司名字变更,以前在北京,现在在天津,跨地区了怎么弄?360免费建站免费空间-360免费建站空间是多大?ipad代理ipad在哪里买是正品?三友网有了解唐山三友集团的吗?大学生待遇如何,工资收入,福利保障,工作环境等等刚刚网刚刚在网上认识了一个女孩子,不是很了解她,就跟她表白了。缤纷网缤纷的意思是什么
国外主机空间 解析域名 免费域名解析 联通c套餐 服务器评测 adman rackspace 香港cdn php主机 轻博 嘟牛 全站静态化 秒杀预告 韩国名字大全 东莞数据中心 hdd 能外链的相册 卡巴斯基免费试用版 starry 新加坡空间 更多