代理端口映射器

端口映射器  时间:2021-05-07  阅读:()
SunGlassFishMessageQueue4.
4发行说明BetaSunMicrosystems,Inc.
4150NetworkCircleSantaClara,CA95054U.
S.
A.
文件号码821–08942009年10月版权所有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许可证持有者.
本发行说明所介绍的产品以及所包含的信息受美国出口控制法制约,并应遵守其他国家/地区的进出口法律.
严禁将本产品直接或间接地用于核设施、导弹、生化武器或海上核设施,也不能直接或间接地出口给核设施、导弹、生化武器或海上核设施的最终用户.
严禁出口或转口到美国禁运的国家/地区以及美国禁止出口清单中所包含的实体,包括但不限于被禁止的个人以及特别指定的国家/地区的公民.
本文档按"原样"提供,对所有明示或默示的条件、陈述和担保,包括对适销性、适用性和非侵权性的默示保证,均不承担任何责任,除非此免责声明的适用范围在法律上无效.
091112@22749目录1发行说明5发行说明修订历史记录6关于MessageQueue4.
46MessageQueue4.
4支持的平台和组件7操作系统平台支持7系统虚拟化支持7组件相关性8MessageQueue4.
4和较新发行版的新增功能9MessageQueue4.
4的新增功能10MessageQueue4.
3的新增功能12MessageQueue4.
2的新增功能16MessageQueue4.
1的新增功能19MessageQueue4.
0的新增功能22以后发行版中不再使用的功能25MessageQueue4.
4和较新发行版中修复的错误26MessageQueue4.
4中修复的错误26MessageQueue4.
3中修复的错误27MessageQueue4.
2中修复的错误27MessageQueue4.
1中修复的错误28MessageQueue4.
0中修复的错误29MessageQueue4.
4中的文档更新30兼容性问题30MessageQueue4.
4文档集中的更改31已知问题和限制32安装问题32过时的密码选项38管理/配置问题39代理问题403代理群集41JMX问题43SOAP支持43可再分发的文件43为残疾人士提供的辅助功能44如何报告问题和提供反馈44SunGlassFish软件论坛44Java技术论坛44Sun欢迎您提出意见45其他Sun资源45目录SunGlassFishMessageQueue4.
4发行说明2009年10月(Beta)4发行说明版本4.
4文件号码821-0894本发行说明包含SunGlassFishMessageQueue4.
4发行时可用的重要信息.
介绍了新增功能和增强功能、已知问题和限制以及其他信息.
开始使用MessageQueue4.
4之前,请先阅读本文档.
本发行说明还包含有关MessageQueue4.
3、4.
2、4.
1和4.
0发行版的信息.
例如,有关这些发行版中新增功能的信息,可分别参见第16页中的"MessageQueue4.
2的新增功能"、第19页中的"MessageQueue4.
1的新增功能"和第22页中的"MessageQueue4.
0的新增功能".
本发行说明的最新版本可以在SunGlassFishMessageQueue文档Web站点(http://docs.
sun.
com/coll/1307.
7)找到.
在安装和设置软件之前,请先查看此Web站点上的相关信息,并在以后定期查看最新的发行说明和产品文档.
本发行说明包含以下部分:第6页中的"发行说明修订历史记录"第6页中的"关于MessageQueue4.
4"第7页中的"MessageQueue4.
4支持的平台和组件"第9页中的"MessageQueue4.
4和较新发行版的新增功能"第25页中的"以后发行版中不再使用的功能"第26页中的"MessageQueue4.
4和较新发行版中修复的错误"第30页中的"MessageQueue4.
4中的文档更新"第32页中的"已知问题和限制"第43页中的"可再分发的文件"第44页中的"为残疾人士提供的辅助功能"第44页中的"如何报告问题和提供反馈"第45页中的"Sun欢迎您提出意见"第45页中的"其他Sun资源"1第1章5本文档引用了第三方URL以提供其他相关信息.
Sun对本文档中提到的第三方Web站点的可用性不承担任何责任.
对于此类站点或资源中的(或通过它们获得的)任何内容、广告、产品或其他资料,Sun并不表示认可,也不承担任何责任.
对于因使用或依靠此类站点或资源中的(或通过它们获得的)任何内容、产品或服务而造成的或连带产生的实际或名义损坏或损失,Sun概不负责,也不承担任何责任.
发行说明修订历史记录下表列出了MessageQueue产品的所有4.
x发行版的发行日期,并描述了此文档中与每个发行版关联的更改.
表1–1修订历史记录日期更改描述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.
4SunGlassFishMessageQueue是一种功能全面的消息服务,提供符合JavaMessagingSpecification(JMS)1.
1的可靠的异步消息传送功能.
此外,MessageQueue还提供JMS规范之外的许多功能,以满足大型企业部署的需要.
为了参与SunGlassFishApplicationServer2.
1.
1的发行,创建了MessageQueue4.
4次要发行版.
因此,未提供可单独下载并安装的MessageQueue4.
4发行版.
发行说明修订历史记录SunGlassFishMessageQueue4.
4发行说明2009年10月(Beta)6MessageQueue4.
4支持的平台和组件本部分介绍了以下有关MessageQueue4.
4系统要求的主题:第7页中的"操作系统平台支持"第7页中的"系统虚拟化支持"第8页中的"组件相关性"操作系统平台支持Solaris、Linux、Windows和AIX操作系统平台均支持MessageQueue4.
4.
表1–2显示了支持的各个平台版本.
有关每个平台的硬件要求,请参见《SunGlassFishMessageQueue4.
4InstallationGuide》.
表1–2支持的平台版本平台支持的版本SolarisSolaris9(SunOS5.
9)及所有更新(SPARC、x86)Solaris10(SunOS5.
10)及所有更新(SPARC、x86、x64)LinuxRedHatEnterpriseLinuxAdvancedServer3.
0、4.
0、5.
0及所有更新,32位和64位版本(x86、x64)RedHatEnterpriseLinuxEnterpriseServer3.
0、4.
0、5.
0及所有更新,32位和64位版本(x86、x64)AIXAIX6.
1WindowsWindowsVistaWindowsXPProfessionalSP2(x86)1Windows2000AdvancedServerSP4(x86)2WindowsServer2003StandardEdition和EnterpriseEditionSP2,32位和64位版本(x86、x64)3WindowsServer2008StandardEdition和EnterpriseEditionSP2,32位和64位版本(x86、x64)31不支持Home、TabletPC或MediaCenterEdition2不支持ProfessionalEdition或ServerEdition3不支持WebEdition或SmallBusinessServerEdition系统虚拟化支持系统虚拟化是一项允许多个操作系统(OperatingSystem,OS)实例在共享硬件上独立执行的技术.
在功能方面,部署到在虚拟化环境中托管的OS的软件通常不知道基础平台已被虚拟化.
Sun在所选择的系统虚拟化和OS组合上执行其SunJavaSystem产品的测MessageQueue4.
4支持的平台和组件第1章发行说明7试,以帮助验证SunJavaSystem产品是否能够继续在正确调整大小及配置的虚拟化环境中如在非虚拟化环境中一样运行.
有关Sun在虚拟化环境中提供的SunJavaSystem产品支持的信息,请参见http://docs.
sun.
com/doc/820-4651.
组件相关性除了特定于平台的要求以外,MessageQueue4.
4还依赖于某些基本组件,必须安装这些组件才能开发和运行MessageQueue客户端.
表1–3介绍了这些组件.
此外,也可以使用其他版本或供应商实现,但由于它们未经SunMicrosystems测试,因此不能获得正式支持.
注–在适用于Solaris、Linux和Windows平台的MessageQueue安装程序中,您可以选择现有JDK/JRE或安装JDK版本(1.
5.
0_15).
表1–3所需的支持组件组件支持支持的版本1JavaRuntimeEnvironment(JRE)MessageQueue代理和管理工具J2SETMRuntimeEnvironment1.
5.
0_15或更高版本JavaTMSERuntimeEnvironment1.
6.
0_10JavaSoftwareDevelopmentKit(JDK)StandardEditionJava客户端开发和部署J2SEDevelopmentKit1.
5.
0_15或更高版本JavaSEDevelopmentKit1.
6.
0_101仅限SunMicrosystems产品版本表1–4显示了一些额外的组件,可以安装这些组件以便为MessageQueue客户端提供其他支持.
您可能不需要列出的所有组件:例如,如果不编写C客户端,则将不需要C编译器、C++运行时库、NSPR或NSS.
表1–4可选的支持组件组件支持支持的版本应用服务器HTTP/HTTPSSunGlassFishApplicationServerEnterpriseEdition版本9.
1.
1(GlassFishEnterpriseServer2.
1)Web服务器HTTP/HTTPSSunGlassFishWebServerEnterpriseEdition版本7.
0Update3MessageQueue4.
4支持的平台和组件SunGlassFishMessageQueue4.
4发行说明2009年10月(Beta)8表1–4可选的支持组件(续)组件支持支持的版本数据库基于JDBC的数据存储库HADB版本4.
4.
3–6JavaDB(ApacheDerby)版本10.
4MySQLCommunity/EnterpriseEdition版本5.
0Oracle9i、10g和11gpostgreSQL版本8.
1注–不再支持PointBase数据库.
高可用性数据库高可用性代理群集HADB版本4.
4.
3–6MySQLClusterEdition版本5.
0Oracle10g和11g轻量目录访问协议(LightweightDirectoryAccessProtocol,LDAP)目录服务器MessageQueue用户系统信息库和受管理对象SunGlassFishDirectoryServer版本6.
0Java命名和目录接口(JavaNamingandDirectoryInterface,JNDI)受管理对象支持和LDAP用户系统信息库JNDI版本1.
2.
1LDAPServiceProvider版本1.
2.
2FileSystemServiceProvider版本1.
2Beta31C编译器和兼容C++运行时库MessageQueueC客户端Solaris:SunStudio版本11或更高版本、C++编译器(使用标准模式)和C编译器Linux:gcc/g++版本3.
2.
3Windows:MicrosoftWindowsVisualC++版本6.
0SP3NetscapePortableRuntime(NSPR)MessageQueueC客户端版本4.
72NetworkSecurityServices(NSS)MessageQueueC客户端版本3.
11.
921仅提供受管理对象支持;支持进行开发和测试,但不支持在生产环境中进行部署2作为共享软件包捆绑在下载包中MessageQueue4.
4和较新发行版的新增功能以下各部分介绍了MessageQueue4.
4以及MessageQueue4.
x系列中以前发行版的新增功能:第10页中的"MessageQueue4.
4的新增功能"第12页中的"MessageQueue4.
3的新增功能"MessageQueue4.
4和较新发行版的新增功能第1章发行说明9第16页中的"MessageQueue4.
2的新增功能"第19页中的"MessageQueue4.
1的新增功能"第22页中的"MessageQueue4.
0的新增功能"MessageQueue4.
4的新增功能MessageQueue4.
4是一个次要发行版,其中包含很多增强功能以及错误修复程序.
本部分介绍了此发行版中包含的新增功能:第10页中的"JMS桥接器服务"第11页中的"STOMP桥接器服务"第11页中的"其他增强功能"JMS桥接器服务由于JMS规范没有为代理和客户端之间的通信定义有线通信协议,因此每个JMS提供者(包括MessageQueue)都定义并使用了自己的专有协议.
这种情况导致无法在JMS提供者之间进行互操作.
MessageQueue4.
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".
MessageQueue4.
4和较新发行版的新增功能SunGlassFishMessageQueue4.
4发行说明2009年10月(Beta)10STOMP桥接器服务如前面所述,JMS规范没有为代理和客户端之间的通信定义有线通信协议.
位于http://stomp.
codehaus.
org的STOMP(StreamingTextOrientedMessagingProtocol,面向流化处理文本的消息传送协议)开源项目定义了一个简单的有线通信协议,采用任意语言编写的客户端都可以使用该协议与支持STOMP协议的任何消息传送提供者进行通信.
MessageQueue4.
4通过STOMP桥接器服务提供STOMP协议支持.
利用此服务,MessageQueue代理可以与STOMP客户端进行通信.
有关STOMP桥接器服务的详细信息,请参见:有关STOMP桥接器服务的体系结构和功能的信息,请参见《SunGlassFishMessageQueue4.
4TechnicalOverview》中的"STOMPBridgeService".
有关在代理中配置和管理STOMP桥接器的信息,请参见《SunGlassFishMessageQueue4.
4AdministrationGuide》中的"ConfiguringandManagingSTOMPBridgeServices".
其他增强功能MessageQueue4.
4中还提供了以下增强功能:第11页中的"新的通用消息服务(UniversalMessageService,UMS)函数"第11页中的"IPS打包支持"新的通用消息服务(UniversalMessageService,UMS)函数UMS现在提供了下列使用HTTPGET的函数以提供多种服务:ssend:发送简单文本消息.
sreceive:接收简单文本消息.
getBrokerInfo:获取有关代理的信息.
getConfiguration:获取有关UMS配置的信息.
debug:打开和关闭UMS服务器中的调试日志记录.
ping:与代理通信以确认其处于运行状态.
有关UMS的概述,请参见第12页中的"通用消息服务(UniversalMessageService,UMS)".
有关UMSAPI的文档,请参见https://mq.
dev.
java.
net/4.
3-content/ums/protocol.
html.
有关使用多种语言进行编程的示例,请参见https://mq.
dev.
java.
net/4.
3-content/ums/examples/README.
html.
IPS打包支持MessageQueue现在使用开源映像打包系统(ImagePackagingSystem,IPS)进行了打包以便分发,该系统也称为pkg(5)系统.
添加此打包方法的目的是为了方便MessageQueue与SunGlassFishEnterpriseServer2.
1.
1集成.
MessageQueue4.
4和较新发行版的新增功能第1章发行说明11MessageQueue4.
3的新增功能MessageQueue4.
3是一个次要发行版,其中包含很多增强功能以及错误修复程序.
本部分介绍了此发行版中包含的新增功能:第12页中的"通用消息服务(UniversalMessageService,UMS)"第14页中的"AIX平台支持"第15页中的"基于Zip的新安装程序"第15页中的"扩展的平台支持"通用消息服务(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客户端.
CッJavaッ.
NetッAjaxッMessageQueueJMS2JMS3PythonッWebJMSッJMSUMSUMSAPIJMS图1–1UMS体系结构MessageQueue4.
4和较新发行版的新增功能SunGlassFishMessageQueue4.
4发行说明2009年10月(Beta)12与语言无关且基于协议的简单UMSAPI同时支持基于Web和不基于Web的应用程序,并且可以与脚本语言和编程语言一起使用.
API以两种样式提供:一种是使用表现状态传输(RepresentationalStateTransfer,REST)样式协议的简单消息传送API,另一种是将协议嵌入SOAP消息头的XML消息传送API.
但是,这两种样式的API只需一个http请求来发送或接收消息.
UMSAPI的简单性和灵活性表现在: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/libMessageQueue4.
4和较新发行版的新增功能第1章发行说明13表1–5imqums.
war文件的位置(续)平台imqums.
war的位置AIXIMQ_HOME/libWindowsIMQ_HOME\lib在将imqums.
war部署到位于localhost:port的Web容器后,可在以下位置找到UMS文档:http://localhost:port/imqums或者,也可通过以下方式查找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或更高版本有关安装说明,请参见《SunGlassFishMessageQueue4.
4InstallationGuide》中的第4章"AIXInstallation".
在AIX平台上,MessageQueue文件安装在单个MessageQueue主目录IMQ_HOME下.
IMQ_HOME表示目录mqInstallHome/mq,其中mqInstallHome是您在安装该产品时指定的安装主目录(默认情况下为home-directory/MessageQueue).
最终的MessageQueue目录结构与Windows平台上的目录结构相同(请参见《SunGlassFishMessageQueue4.
4AdministrationGuide》中的附录A"Platform-SpecificLocationsofMessageQueueData").
MessageQueue4.
4和较新发行版的新增功能SunGlassFishMessageQueue4.
4发行说明2009年10月(Beta)14MessageQueue的AIX平台支持包括对MessageQueueC-API的支持.
有关在AIX平台上生成和编译C应用程序的说明,请参见XREF.
基于Zip的新安装程序MessageQueue4.
3新增了一种新的安装程序,以便进行基于Zip的分发,而不是本机软件包分发.
该安装程序用于为AIX平台安装新的MessageQueue.
zip分发包.
新安装程序将MessageQueue.
zip文件解压缩到您具有写入权限(无需超级用户权限)的任何目录中,并且还允许您在SunConnection中注册MessageQueue安装.
为了最大程度地减小下载包的大小,Java运行时环境将不再包含在基于zip的分发包中(大多数站点已提供Java运行时环境).
因此,installer命令需要通过使用JAVA_HOME环境变量或通过在命令行中使用-j选项来指定JDK或JRE,如下所示:$installer-jJDK/JRE-path其中JDK/JRE-path是指定JDK或JRE的路径.
扩展的平台支持将对MessageQueue4.
3更新的以下平台支持进行认证:Oracle11gWindowsServer2008其他增强功能MessageQueue4.
3中还包含以下增强功能:第15页中的"Windows平台上的新目录结构"第15页中的"新代理属性"第16页中的"JMX管理API增强功能"第16页中的"列出通配符订阅者的长期订阅"Windows平台上的新目录结构Windows平台上的MessageQueue安装目录结构已由以前的版本修改为与AIX平台上的目录结构相匹配.
将来,Solaris和Linux平台也会采用此目录结构,以便在单台计算机上执行多个安装,以及通过SunConnection(Sun托管的一项服务,可帮助跟踪、管理和维护Sun硬件和软件)自动更新MessageQueue(请参见第18页中的"安装程序的SunConnection注册支持").
新代理属性以下新属性可用于配置代理:MessageQueue4.
4和较新发行版的新增功能第1章发行说明15表1–6代理路由和传送属性属性类型默认值描述imq.
transaction.
producer.
maxNumMsgs整型1000生成方可以在单个事务中处理的最大消息数.
建议该值小于5000,以防止资源耗尽.
imq.
transaction.
consumer.
maxNumMsgs整型100使用方可以在单个事务中处理的最大消息数.
建议该值小于1000,以防止资源耗尽.
imq.
persist.
jdbc.
connection.
limit整型5可以对数据库打开的最大连接数.
JMX管理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页中的"为发布者或订阅者提供多个目的地"第17页中的"XML有效负荷消息的模式验证"第17页中的"C-API的分布式事务支持"第18页中的"安装程序的SunConnection注册支持"第18页中的"MySQL数据库支持"第18页中的"其他增强功能"MessageQueue4.
4和较新发行版的新增功能SunGlassFishMessageQueue4.
4发行说明2009年10月(Beta)16有关MessageQueue4.
1和4.
0中新增功能的信息,请分别参见第19页中的"MessageQueue4.
1的新增功能"和第22页中的"MessageQueue4.
0的新增功能".
为发布者或订阅者提供多个目的地在MessageQueue4.
2中,发布者可以将消息发布到多个主题目的地;订阅者可以使用多个主题目的地中的消息.
此功能是通过使用包含通配符的主题目的地名称(表示多个目的地)来实现的.
通过使用此类符号名称,管理员可以根据需要创建与通配符命名方案保持一致的其他主题目的地.
发布者可自动将消息发布到所添加的目的地,订阅者可自动使用其中的消息.
(通配符主题订阅者比发布者更常见.
)注–此功能不适用于队列目的地.
符号主题目的地名称的格式及其使用示例在《SunGlassFishMessageQueue4.
4AdministrationGuide》中的"SupportedTopicDestinationNames"中进行了描述.
XML有效负荷消息的模式验证通过使用MessageQueue4.
2中新增的此功能,可以在将消息发送到代理时针对XML模式验证文本(不是对象)XML消息的内容.
XML模式(XSD)位置是作为MessageQueue目的地属性指定的.
如果未指定XSD位置,则使用XML文档中的DTD声明来执行DTD验证.
(XSD验证包括数据类型和值范围验证,它比DTD验证更严格.
)有关使用此功能的信息,请参见第17页中的"XML有效负荷消息的模式验证".
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.
4和较新发行版的新增功能第1章发行说明17MessageQueue4.
2提供了一些基于Tuxedo事务管理器的编程示例.
有关使用这些样例程序的信息,请参见《SunGlassFishMessageQueue4.
4Developer'sGuideforCClients》中的"DistributedTransactionSamplePrograms".
注–分布式事务方法在Solaris、Linux和Windows平台上均受支持,但到目前为止,仅在Solaris平台上对该方法进行了认证.
安装程序的SunConnection注册支持MessageQueue安装程序已进行了改进,允许在SunConnection中注册MessageQueue,这是Sun托管的一项服务,可帮助跟踪、管理和维护Sun硬件和软件.
在安装MessageQueue期间,可以选择在SunConnection中注册MessageQueue.
安装的MessageQueue的相关信息(如发行版本、主机名、操作系统、安装日期以及其他此类基本信息)将安全地传送到SunConnection数据库.
SunConnection清单服务可帮助您管理Sun硬件和软件;更新服务可通知您最新的可用安全修复程序、建议的更新以及增强功能.
有关在SunConnection中注册MessageQueue的详细信息,请参见《SunGlassFishMessageQueue4.
4InstallationGuide》.
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》中MessageQueue4.
4和较新发行版的新增功能SunGlassFishMessageQueue4.
4发行说明2009年10月(Beta)18的"ViewingPhysicalDestinationInformation")和新的JMX属性(请参见《SunGlassFishMessageQueue4.
4Developer'sGuideforJMXClients》中的"DestinationMonitor")获得.
通配符生成方和通配符使用方信息通过新的监视数据,提供了支持在目的地名称中使用通配符的信息(请参见第17页中的"为发布者或订阅者提供多个目的地").
例如,与目的地关联的通配符生成方或使用方数可通过imqcmdquerydst命令(请参见《SunGlassFishMessageQueue4.
4AdministrationGuide》中的"ViewingPhysicalDestinationInformation")和新的JMX属性(请参见《SunGlassFishMessageQueue4.
4Developer'sGuideforJMXClients》中的"DestinationMonitor")获得.
此外,通配符信息可通过ConsumerManagerMonitorMBean和ProducerManagerMonitorMBean获得.
SupportforDNUsernameFormatforClientAuthenticationMessageQueue4.
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"以执行访问控制.
JAASAuthenticationEnhancementMessageQueue4.
2新增了通过IP地址以及用户名进行JAAS验证的功能.
MessageQueue4.
1的新增功能MessageQueue4.
1是一个次要发行版,其中包含很多新增功能、一些增强功能以及错误修复程序.
本部分介绍了4.
1发行版中的新增功能,并提供了详细的使用参考:第20页中的"高可用性代理群集"第21页中的"JAAS支持"第21页中的"持久性数据存储库格式更改"第21页中的"代理环境配置"第21页中的"JavaES监视框架支持"第21页中的"增强的事务管理"第22页中的"用于C客户端连接的固定端口"有关MessageQueue4.
0中新增功能的信息,请参见第22页中的"MessageQueue4.
0的新增功能".
MessageQueue4.
4和较新发行版的新增功能第1章发行说明19高可用性代理群集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)转换为共享持久性数据存储库.
另请参见第41页中的"代理群集"以了解更多的已知问题和限制.
MessageQueue4.
4和较新发行版的新增功能SunGlassFishMessageQueue4.
4发行说明2009年10月(Beta)20JAAS支持除了基于文件的内置验证机制以及基于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.
4和较新发行版的新增功能第1章发行说明21为帮助您确定能否回滚特定事务(特别是未处于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.
它包含几个新增功能、一些增强功能以及错误修复程序.
本部分包含此发行版中的新增功能的说明:第23页中的"JMX管理API支持"第23页中的"客户端运行时环境日志记录"第23页中的"连接事件通知API"第23页中的"代理管理增强功能"第24页中的"显示有关基于JDBC的数据存储库的信息"第24页中的"JDBC提供者支持"第25页中的"持久性数据存储库格式更改"第25页中的"其他消息属性"第25页中的"SSL支持"MessageQueue4.
4和较新发行版的新增功能SunGlassFishMessageQueue4.
4发行说明2009年10月(Beta)22注意–在版本4.
0中进行了一些细微但可能会引起问题的更改,其中之一就是不再使用命令行选项来指定密码.
因此,您必须按第38页中的"过时的密码选项"中的所述将所有密码存储在一个文件中,或者在出现提示时输入密码.
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.
4和较新发行版的新增功能第1章发行说明23当代理等待关闭时,可通过以下方式影响其行为.
继续接受管理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.
4和较新发行版的新增功能SunGlassFishMessageQueue4.
4发行说明2009年10月(Beta)24持久性数据存储库格式更改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(请参见第23页中的"JMX管理API支持")所取代.
JMXAPI更全面(它包含的度量数据比写入到主题目的地中的数据多)且基于JMX行业标准.
以后发行版中不再使用的功能第1章发行说明25由于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.
4和较新发行版中修复的错误MessageQueue4.
4包含新的错误修复程序,并且还包含在MessageQueue4.
x系列以前的发行版中修复的错误.
以下各部分列出了在相应发行版中修复的错误:第26页中的"MessageQueue4.
4中修复的错误"第27页中的"MessageQueue4.
3中修复的错误"第27页中的"MessageQueue4.
2中修复的错误"第28页中的"MessageQueue4.
1中修复的错误"第29页中的"MessageQueue4.
0中修复的错误"MessageQueue4.
4中修复的错误下表介绍了MessageQueue4.
4中修复的错误.
表1–7MessageQueue4.
4中修复的错误错误描述6242247如果同一计算机上的两个代理具有相同的名称,则MQ群集的主代理在启动后会挂起MessageQueue4.
4和较新发行版中修复的错误SunGlassFishMessageQueue4.
4发行说明2009年10月(Beta)26表1–7MessageQueue4.
4中修复的错误(续)错误描述6760937重新启动代理时,代理不会重新连接到数据库6765410当长期订阅已处于活动状态时,主代理发送本地Interest2次会导致从代理出现异常6796506如果在接收远程PREPARE回复时超时,则远程PREPARED消息在回滚后不会重新传送6821639在MQRA-DIRECT模式下恢复应用服务器事务期间,回滚/提交事务出现Null指针异常6836364如果通配符订阅者的主题是在订阅之前创建的,则该订阅者不接收远程消息6836749HA(JCAPS):在回滚某个长期订阅并提交消息后,接收消息时出现存储库中已存在确认异常6858905Consumer.
destroyConsumer中出现ConcurrentModificationException异常MessageQueue4.
3中修复的错误下表介绍了MessageQueue4.
3中修复的错误.
表1–8MessageQueue4.
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中修复的错误.
MessageQueue4.
4和较新发行版中修复的错误第1章发行说明27表1–9MessageQueue4.
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如果回滚在使用方事务会话中传送的消息,并且在回滚之前关闭了原始使用方,则不会重新传送这些消息.
6629922分布式事务处理程序未按正确的顺序将消息重新传送到非活动使用方.
6635130代理在由于目的地已达到内存限制或消息限制而暂停后,不能通知非持久性消息的生成方恢复生成操作.
6641117如果回滚在使用方事务会话中传送的消息,并且在回滚之后关闭了原始使用方,则不会重新传送这些消息.
6683897尽管配置显示已成功完成,但MessageQueue安装程序的"摘要"屏幕却报告以下配置错误:在某些计算机上,安装程序无法写入/dev/sterr.
6684069对于在使用方事务中将大量消息传送到远程客户端的代理群集,无法提交事务.
6688935端口映射器读取超时的默认值太小.
6695238如果代理的安装路径中包含空格,C客户端应用程序将无法连接到该代理.
6710168如果目的地暂停两次并且在两次暂停之间未进行恢复,使用方将不再使用消息.
6710169JMX操作ConsumerManagerMonitor.
getConsumerInfo始终为确认模式返回SESSION_TRANSACTED.
MessageQueue4.
1中修复的错误下表介绍了MessageQueue4.
1中修复的错误.
MessageQueue4.
4和较新发行版中修复的错误SunGlassFishMessageQueue4.
4发行说明2009年10月(Beta)28表1–10MessageQueue4.
1中修复的错误错误描述6381703如果传送消息的代理重新启动,则可能会两次提交处理的远程消息.
6388049无法清除未完成的分布式事务.
6401169imqcmd的提交和回滚选项不提示进行确认.
6473052自动创建的队列的默认设置应该为循环传送.
(MaxNumberConsumers=-1).
6474990代理日志显示imqcmdlistdst命令发生了ConcurrentModificationException.
6487413限制行为是REMOVE_OLDEST或REMOVE_LOWER_PRIORITY时发生内存泄漏.
6488340代理自旋,并且客户端等待确认回复.
6502744代理不遵循停用消息队列具有1000个消息的默认限制.
6517341当客户端连接到增强的代理群集时,客户端运行时环境需要改进重新连接逻辑,以便允许客户端重新连接,而无论imqReconnectEnabled属性值是什么.
6528736Windows自动启动服务(imqbrokersvc)在启动过程中崩溃.
6561494当两个使用方共享一个会话时,消息将传送到错误的使用方.
6567439如果在代理重新启动后提交PREPARED事务中生成的消息,这些消息的传送顺序就会不正确.
MessageQueue4.
0中修复的错误下表介绍了MessageQueue4.
0中修复的错误.
表1–11MessageQueue4.
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.
MessageQueue4.
4和较新发行版中修复的错误第1章发行说明29表1–11MessageQueue4.
0中修复的错误(续)错误号描述6260076使用Oracle存储库,在代理启动后的第一条消息发布完后,消息发布速度变得很慢.
6260814对JMSXUserID进行处理的选择器始终得到false值.
6264003队列浏览器显示属于尚未提交的事务的消息.
6271876关闭具有未使用消息的使用方时,连接流控制无法正常工作.
6279833MessageQueue不允许两个代理使用相同的JDBC表.
6293053除非清除存储库中的内容(使用—resetstore),否则当系统的IP地址更改时,主代理将无法正确启动.
6294767MessageQueue代理需要在其打开的网络套接字上设置SO_REUSEADDR.
6304949无法设置TopicConnectionFactory的ClientID属性.
6307056txn日志成为性能瓶颈.
6320138MessageQueueCAPI无法确定回复标头中的队列名称.
6320325即使在Solaris上同时安装了JDK1.
4和JDK1.
5,代理有时也会选取前者.
6321117多代理群集初始化抛出java.
lang.
NullPointerException.
6330053从订户提交事务时,JMS客户端抛出java.
lang.
NoClassDefFoundError.
6340250支持C-API中的MESSAGE类型.
6351293添加对ApacheDerby数据库的支持.
MessageQueue4.
4中的文档更新本部分包含有关MessageQueue4.
4文档更新的信息:第30页中的"兼容性问题"第31页中的"MessageQueue4.
4文档集中的更改"兼容性问题本部分包含有关MessageQueue4.
4的兼容性问题.
MessageQueue4.
4中的文档更新SunGlassFishMessageQueue4.
4发行说明2009年10月(Beta)30接口稳定性SunGlassFishMessageQueue使用的许多接口可能会随着时间的变化而发生更改.
《SunGlassFishMessageQueue4.
4AdministrationGuide》中的附录B"StabilityofMessageQueueInterfaces"根据稳定性对接口进行了分类.
接口越稳定,在产品的后续版本中对其进行更改的可能性就越小.
与MessageQueue的下一个主要发行版相关的问题MessageQueue的下一个主要发行版可能新增一些更改,这些更改会使当前的MessageQueue客户端应用程序与该发行版不兼容.
提前提供此信息是为了使用户早做准备.
作为SunGlassFishMessageQueue的一部分进行安装的个别文件的位置可能会发生更改.
如果现有的应用程序依赖于某些MessageQueue文件的当前位置,则这些应用程序可能会中断.
MessageQueue3.
5及更早版本的代理可能无法再在具有较高版本代理的群集中运行.
在以后的发行版中,MessageQueue客户端可能无法使用早于1.
5的JDK版本.
在以后的发行版中,MessageQueue客户端可能无法使用早于1.
6的JDK版本.
MessageQueue4.
4文档集中的更改MessageQueue4.
4文档集包含对MessageQueue4.
3文档集所做的更新,如下所述:技术概述《SunGlassFishMessageQueue4.
4TechnicalOverview》反映了MessageQueue4.
4中的新增功能.
安装和升级信息《SunGlassFishMessageQueue4.
4InstallationGuide》包含在AIX平台上安装MessageQueue的信息.
管理指南《SunGlassFishMessageQueue4.
4AdministrationGuide》包含次要的错误修复程序、AIX平台支持,以及用于管理代理群集和将传统群集转换为增强的群集的已修订过程.
适用于Java客户端的开发者指南《SunGlassFishMessageQueue4.
4Developer'sGuideforJavaClients》反映了新版本号,但未进行修订.
MessageQueue4.
4中的文档更新第1章发行说明31适用于C客户端的开发者指南《SunGlassFishMessageQueue4.
4Developer'sGuideforCClients》包含有关在AIX平台上构建C客户端应用程序的信息.
适用于JMX客户端的开发者指南《SunGlassFishMessageQueue4.
4Developer'sGuideforJMXClients》包含JMXAPI中的增强功能.
已知问题和限制本部分包含了MessageQueue4.
4中已知问题的列表.
涵盖以下产品领域:第32页中的"安装问题"第38页中的"过时的密码选项"第39页中的"管理/配置问题"第40页中的"代理问题"第41页中的"代理群集"第43页中的"JMX问题"第43页中的"SOAP支持"有关当前错误、错误的状态和解决方法的列表,JavaDeveloperConnectionTM成员应参见JavaDeveloperConnectionWeb站点上的BugParade页.
在报告新的错误之前请先查看该页.
虽然未列出所有的MessageQueue错误,但如果您想了解是否已报告了某个问题,可以将该页作为一个很好的起点.
http://bugs.
sun.
com/bugdatabase/index.
jsp注–可以免费获得JavaDeveloperConnection成员资格,但需要进行注册.
有关如何成为JavaDeveloperConnection成员的详细信息,请访问Sun的"ForDevelopers"Web页.
要报告新错误或提交功能请求,请向imq-feedback@sun.
com发送电子邮件.
安装问题本部分介绍了与安装MessageQueue版本4.
4相关的问题.
产品注册表和JavaES与MessageQueue4.
2和4.
1类似,MessageQueue4.
4是由相对较新的安装程序安装的,该安装程序还可安装并升级MessageQueue所需的JavaEnterpriseSystem(JavaES)共享组件,例如,JDK、NSS和JavaHelp等.
已知问题和限制SunGlassFishMessageQueue4.
4发行说明2009年10月(Beta)32新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)解决方法:使用标有"关闭"的按钮关闭此窗口.
当计算机系统上装有旧版本的MessageQueue和NSS/NSPR时,安装程序的"升级"屏幕仅列出需要升级的MessageQueue;它不会提到还需要升级NSS和NSPR.
不过,所有相关软件仍会得到升级(如"准备安装"屏幕所示,其中显示了正确信息).
(错误6580696)"JDK选择"屏幕上的JDK列表处于活动状态,即使在未选择"选择JDK"选项时.
(错误6650874)使用MessageQueue卸载程序时,单击"取消"(而不是"删除")仍将删除一些安装程序文件,并且以后的卸载操作会失败.
(错误6760416)如果在执行了跳过注册步骤的无提示安装后以仅注册模式(installer-r)运行安装程序,则会导致注册失败,同时显示"Prematureendoffile"(文件过早结束)错误.
(错误6767988)在以前安装了OpenMessageQueue的计算机上运行MessageQueue4.
3安装程序时,您可能会看到以下警告消息:"ErrorreadingprevioussessiondatafromConfig-State"(从配置状态读取以前的会话数据时出现错误).
(错误6764305)解决方法:该消息是无害的,在安装完成后便不会再出现.
或者,您可以删除/var/install/config/mq/InstallDirectory.
xcu文件以避免出现该消息.
在未安装JDK的计算机上运行基于zip的MessageQueue安装程序时,会显示以下错误消息:"InvalidrootinregistrykeyHKLM\SOFTWARE\JavaSoft\JavaRuntimeEnvironment\CurrentVersion"(注册表主键HKLM\SOFTWARE\JavaSoft\JavaRuntimeEnvironment\CurrentVersion中的根目录无效).
(错误6764358)已知问题和限制第1章发行说明33解决方法:在运行安装程序之前安装JDK.
在单击"准备安装"屏幕上的"安装"按钮之前,MessageQueue安装程序已创建了mqInstallHome目录.
(错误6595590)如果在未安装MessageQueue的情况下尝试以文本模式(installer-t-r)注册MessageQueue,则会抛出NullPtr异常.
(错误6760991)解决方法:在尝试注册安装之前,安装MessageQueue.
在Windows上进行安装在Windows上安装MessageQueue时,请注意以下限制.
Windows平台上的MessageQueue4.
3安装目录结构不同于以前发行版的目录结构.
请参见《SunGlassFishMessageQueue4.
4InstallationGuide》中的"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)如果尝试在Windows上以文本模式运行安装程序(installer–t),则会导致以英语显示一条错误消息,即使安装程序在非英语环境中运行.
Windows上不支持文本模式.
(错误6594142)安装程序在C:\上安装MessageQueue,即使操作系统安装在其他驱动器上也是如此.
(错误6673511)对于Windows上的安装和卸载,用户无法运行.
bat文件,也无法使用Windows控制面板中的"添加/删除程序"进行卸载.
(错误6673417)在WindowsVista上,无法在C:\ProgramFiles下安装MessageQueue,除非以管理员身份从命令提示符进行安装.
(错误6701661)已知问题和限制SunGlassFishMessageQueue4.
4发行说明2009年10月(Beta)34解决方法:以管理员身份通过命令提示符进行安装:1.
"开始"→"程序"→""→"命令提示符".
2.
右键单击"命令提示符".
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)在文本模式下运行安装程序时,以及在输入用户名或密码进行SunConnection注册或创建联机帐户时,无法使用Backspace键更正用户名或密码.
(错误6673460)解决方法:使用Control-H组合键而不是Backspace键,或者使用其他终端仿真器,如dtterm或xterm.
安装程序上的"升级"屏幕并未始终正确报告现有的MessageQueue安装版本或安装程序引擎版本.
(错误6679765)如果在文本模式下使用安装程序并尝试使用无效的用户名和密码进行SunConnection注册,安装程序将显示"无法注册"对话框、抛出Null指针异常并退出.
(错误6666365)在Linux上进行安装以下问题会影响Linux平台上的安装:在RedhatLinux5上,运行C客户端应用程序所需的compat-libstdc++库未包含在MessageQueue分发包中,因此MessageQueue安装程序未对其进行安装.
如果要开发并运行C客户端,则需要手动安装此库.
已知问题和限制第1章发行说明35通常,在您所用的Linux版本的安装介质中,可以找到compat-libstdc++rpm.
可使用以下命令对其进行安装:rpm-ivhcompat-libstdc++-x-x.
x.
x.
x.
.
rpm其中x表示版本号.
要检查是否已成功安装该库,请使用以下命令:rpm-qa|grepcompat-libstdc++在"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)在64位Linux上无法以文本模式运行MessageQueue安装程序.
(错误6771303)解决方法:如果您尝试从终端窗口进行远程安装,则必须使用某个远程显示软件以在GUI模式下运行安装程序.
安装程序中的版本异常安装程序未明确显示MessageQueue版本信息.
(错误6586507)Solaris平台在Solaris平台上,请参见下表以确定安装程序显示的MessageQueue版本.
表1–12版本字符串转换SolarisOS上的安装程序显示的版本对应的MessageQueue发行版4.
3.
0.
04.
3已知问题和限制SunGlassFishMessageQueue4.
4发行说明2009年10月(Beta)36表1–12版本字符串转换(续)SolarisOS上的安装程序显示的版本对应的MessageQueue发行版4.
2.
0.
04.
24.
1.
0.
24.
1Patch24.
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)已知问题和限制第1章发行说明37Windows上不支持文本模式(installer–t).
如果在Windows上以文本模式运行安装程序,则会显示错误消息.
在非英语语言环境中运行安装程序时,不会本地化此消息.
(错误6594142)无论在哪种语言环境中运行安装程序,安装程序的"许可证"屏幕都会显示英语许可证文本.
(错误6592399)解决方法:要访问本地化的许可证文件,请查看LICENSE_MULTILANGUAGE.
pdf文件.
未本地化安装程序使用帮助文本.
(错误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已知问题和限制SunGlassFishMessageQueue4.
4发行说明2009年10月(Beta)38可通过以下某种方法使用密码文件.
通过在代理的config.
properties文件中设置以下属性,将代理配置为使用密码文件.
imq.
passfile.
enabled=trueimq.
passfile.
dirpath=passwordFileDirectoryimq.
passfile.
name=passwordFileName使用相关命令的-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已知问题和限制第1章发行说明39如果提供的值中包含空格,则所有Solaris和Windows脚本中的-javahome选项都不起作用.
(错误4683029)MessageQueue命令和实用程序使用javahome选项来指定要使用的备用Java2兼容运行时.
但是,备用Java运行时的路径名不能包含空格.
以下是包含空格的路径示例.
Windows:C:\jdk1.
4Solaris:/work/java1.
4解决方法:在不包含空格的位置或路径中安装Java运行时环境.
imqQueueBrowserMaxMessagesPerRetrieve属性指定客户端运行时环境在浏览队列的内容时一次检索到的最大消息数.
该属性影响将排队消息成批传送到客户端运行时环境的方式,而不会影响浏览的消息总数.
该属性仅影响浏览机制,而不影响队列消息传送.
(错误6387631)代理问题以下问题将影响MessageQueue代理.
如果持久性数据存储库打开过多目的地,将无法访问代理.
(错误4953354)解决方法:这种情况是由于代理达到了系统打开文件描述符限制所致.
在Solaris和Linux上可使用ulimit命令来增加文件描述符限制.
目的地被销毁后,使用方将被孤立.
(错误5060787)目的地被销毁后,活动的使用方将被孤立.
使用方孤立后,他们将不再接收消息(即使重新创建了目的地).
使用HTTP连接服务的JMS客户端突然终止时(例如,使用Ctrl-C组合键),代理要花费大约一分钟的时间才能释放客户端连接和所有关联的资源.
如果在这一分钟内客户端的另一个实例启动,并且该实例尝试使用同一个客户端ID、长期订阅或队列,则可能会收到"客户端ID已经在使用"的异常.
这实际上不是什么问题,只是上述终止过程的副作用.
如果客户端在延迟约一分钟后启动,则应当一切正常.
将MySQL数据库用作数据存储库时,如果存储的消息超过1MB,则会抛出"Packetforqueryistoolarge.
.
.
"(查询数据包太大.
.
.
)SQL异常.
(错误6682815)解决方法:启动MySQL服务器并将--max_allowed_packet选项的值设置为大于1MB(默认值).
例如,使用以下值:--max_allowed_packet=60M将MySQL数据库用作高可用性共享数据存储库时,需要使用一种机制将MySQL存储引擎配置为NDBCLUSTER.
(错误6691394)解决方法:将以下属性值添加到代理的config.
properties文件中(请参见《SunGlassFishMessageQueue4.
4AdministrationGuide》中的"EnhancedClusters:JDBCConfigurationProperties")已知问题和限制SunGlassFishMessageQueue4.
4发行说明2009年10月(Beta)40imq.
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)代理群集以下问题影响代理群集.
本发行版中只支持完全连接的代理群集.
这意味着群集中的每个代理均必须与群集中的其他所有代理直接通信.
如果使用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)已知问题和限制第1章发行说明41如果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)解决方法:一旦打开远程连接,这些消息将会由使用方接收.
如果该使用方的连接保持关闭状态,这些消息将重新传送给另一个使用方.
如果在一个事务中使用多个来自远程代理的消息,则可能会在该代理中记录以下错误消息.
该消息是无害的,可以将其忽略:[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已知问题和限制SunGlassFishMessageQueue4.
4发行说明2009年10月(Beta)42如果imq.
txn.
reapLimit属性与一个事务中的远程消息数相比较小,当通知将事务中的后续消息提交到消息主代理时,将会记录此消息.
(错误6585449)解决方法:要避免出现此消息,请增大imq.
txn.
reapLimit属性的值.
JMX问题在Windows平台上,事务管理器监视MBean的getTransactionInfo方法将返回具有错误事务创建时间的事务信息.
(错误6393359)解决方法:改用事务管理器监视MBean的getTransactionInfoByID方法.
SOAP支持您需要注意与SOAP支持有关的两个问题从MessageQueue4.
0发行版开始,将不再为SOAP管理的对象提供支持.
SOAP开发依赖于以下几个文件:SUNWjaf、SUNWjmail、SUNWxsrt和SUNWjaxp.
在MessageQueue4.
1版中,仅当运行带有JDK1.
6.
0或更高版本的MessageQueue时,才能使用这些文件.
以前,SAAJ1.
2实现.
jar直接引用mail.
jar.
在SAAJ1.
3中删除了此引用,因此MessageQueue客户端必须将mail.
jar明确放入CLASSPATH中.
可再分发的文件SunGlassFishMessageQueue4.
4中包含以下一组文件,您可以使用这些文件,并以二进制格式自由分发它们:fscontext.
jarimq.
jarimqjmx.
jarimqxm.
jarimqums.
warjaas.
jarjms.
jarlibmqcrt.
so(HPUX)libmqcrt.
so(UNIX)mqcrt1.
dll(Windows)此外,还可以再分发LICENSE和COPYRIGHT文件.
可再分发的文件第1章发行说明43为残疾人士提供的辅助功能欲获得自本介质发行以来所发布的辅助功能,请联系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,还可了解维护方案以及用于联系支持部门的电话号码.
随维护合同一起分发的电话号码.
为了使我们能更好地帮助您解决问题,请在联系客户支持时提供以下信息:问题描述,包括问题出现时的情况及其对您的操作的影响.
计算机类型、操作系统版本和产品版本,包括可能影响问题的所有修补程序和其他软件.
用来再现该问题的详细步骤.
所有错误日志或核心转储.
SunGlassFish软件论坛以下位置提供了一个SunGlassFishMessageQueue论坛:http://swforum.
sun.
com/jive/forum.
jspaforumID=24我们欢迎您的参与.
Java技术论坛您可能会对Java技术论坛中的JMS论坛感兴趣.
http://forum.
java.
sun.
com为残疾人士提供的辅助功能SunGlassFishMessageQueue4.
4发行说明2009年10月(Beta)44Sun欢迎您提出意见Sun致力于提高其文档的质量,并十分乐意收到您的意见和建议.
要共享您的意见,请访问http://docs.
sun.
com,并单击"SendComments".
在联机表单中,请提供文档标题和文件号码.
文件号码是一个七位或九位的数字,可以在书的标题页或文档的顶部找到.
例如,本书的书名是《&发行说明》,文件号码是821-0894.
其他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支持和知识库http://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资源第1章发行说明4546

CloudCone中国新年特别套餐,洛杉矶1G内存VPS年付13.5美元起

CloudCone针对中国农历新年推出了几款特别套餐, 其中2019年前注册的用户可以以13.5美元/年的价格购买一款1G内存特价套餐,以及另外提供了两款不限制注册时间的用户可购买年付套餐。CloudCone是Quadcone旗下成立于2017年的子品牌,提供VPS及独立服务器租用,也是较早提供按小时计费VPS的商家之一,支持使用PayPal或者支付宝等付款方式。下面列出几款特别套餐配置信息。CP...

百纵科技云主机首月9元,站群1-8C同价,美国E52670*1,32G内存 50M 899元一月

百纵科技:美国高防服务器,洛杉矶C3机房 独家接入zenlayer清洗 带金盾硬防,CPU全系列E52670、E52680v3 DDR4内存 三星固态盘阵列!带宽接入了cn2/bgp线路,速度快,无需备案,非常适合国内外用户群体的外贸、搭建网站等用途。官方网站:https://www.baizon.cnC3机房,双程CN2线路,默认200G高防,3+1(高防IP),不限流量,季付送带宽美国洛杉矶C...

腾讯云爆款秒杀:1C2G5M服务器38元/年,CDN流量包6元起

农历春节将至,腾讯云开启了热门爆款云产品首单特惠秒杀活动,上海/北京/广州1核2G云服务器首年仅38元起,上架了新的首单优惠活动,每天三场秒杀,长期有效,其中轻量应用服务器2G内存5M带宽仅需年费38元起,其他产品比如CDN流量包、短信包、MySQL、直播流量包、标准存储等等产品也参与活动,腾讯云官网已注册且完成实名认证的国内站用户均可参与。活动页面:https://cloud.tencent.c...

端口映射器为你推荐
recommendations37操作httpcentos6.5怎么用u盘安装centos6.5新iphone也将禁售现在2017年iPhone6s还有多久会被淘汰波音737起飞爆胎飞机会爆胎的吗?美要求解锁iPhone如何看美版苹果是有锁无锁支付宝注册网站在哪里注册支付宝账号360arp防火墙在哪arp防火墙在哪开额- -360里是哪个?重庆电信dnsPSP上网急救!重庆电信的DNS是多少啊?宜人贷官网我在宜人财富贷款2万元,下款的时候时候系统说银行卡号错误,然 我在宜人财富贷款2万我在宜人财富贷款
海外主机租用 未注册域名查询 lunarpages 百度云100as bluehost 外贸主机 koss Hello图床 日志分析软件 iis安装教程 服务器日志分析 100m免费空间 促正网秒杀 创梦 hkt metalink 国外在线代理服务器 华为k3 1美元 广州主机托管 更多