Borland Enterprise Server 5.1 发布说明

关于 Borland Enterprise Server

Borland Enterprise Server 有三个可用的版本:

上述各版本均建立于其以前版本的工具和服务基础之上。 最基本的版本是 Web 版,功能最全的版本是 AppServer 版。 如有需要,您可以从一个版本升级至另一更高版本。 本发布说明适用于所有这些版本。

平台信息

有关最低硬件配置要求、通过认证的操作系统、JDK 和编译器的信息,请参阅产品平台页

注: Borland Enterprise Server 的简体中文版本仅支持 Windows、Solaris 和 HP 操作系统。

以下是 VisiBroker 版本的附加平台信息:

C++ 64 位安全支持

VisiBroker C++ 的安全取决于 Certicom SSLPlus 库。 目前,64 位 SSLPlus 库尚不可用。 所以,VisiBroker 版本的 64 位端口未提供 C++ 安全组件。

开始使用

安装

有关如何安装 Borland Enterprise Server 的信息,请参阅安装指南。 如果您想升级,请参阅从以前版本升级

注: 在安装 BES 的简体中文版本时,必须以 ASCII 字符的形式指定安装目录(在安装程序的“选择安装路径”面板中设置)。 使用中文字符作为路径会导致 SonicMQ 出错。

有两种安装类型:Borland Enterprise Server 完全安装Borland VisiBroker 独立安装。 “Borland Enterprise Server 完全安装”用于安装 BES 服务器,“Borland VisiBroker 独立安装”用于安装独立的 VisiBroker。 前者的使用方法与 BES 5.0.x 中使用的安装相同;后者用于安装 VisiBroker ORB 或不含 J2EE 组件的 VisiBroker 控制台。

Borland VisiBroker Standalone 安装不可与 BES VisiBroker 版本 混为一谈。 前者是一种安装类型,而后者是为 BES 购买的许可。 所有安装类型均可用于 BES 版本。

如果您已安装有 Borland AppServer 或 Borland Enterprise Server,则不要将 Borland Enterprise Server 安装在其上。 您应该删除以前的版本或将 Borland Enterprise Server 安装于单独的目录下。

在安装前,请确保您已阅读过 J2SE 发布说明并遵照其行事。 这里要说明的是,如果您遇到了任何 JVM 问题,请确保您已满足所有与操作系统版本和补丁程序相关的要求。

取得许可证

Borland Enterprise Server 的许可技术用于控制可用特性的级别。 您可以随时升级您的许可证。 例如,您可以从一个版本升级为另一个版本,从评估版本升级为开发版本或分发版本。 您可以通过使用 Borland Enterprise Server 控制台来管理您的服务器的许可证。

在使用象 idl2cppVBJ 这样的工具时,Unix 上的完全许可安装可能会引发以下的许可错误消息:

There is no valid license to run this

product or component. Please make sure that a license enabling this product

or component is installed correctly and it has not yet expired.

这些工具需要访问相应的环境变量。 运行这些工具之前,请使用安装的 bin 目录下的 vbroker.csh(适用于 C-Shell)或 vbroker.sh(适用于 Bourne 和 Korn Shell、bash)脚本,来设置相应的环境变量。 建立实例需要调用许多这样的工具;如果您想在 Unix 或 Linux 上编译实例,则您首先必须调用设置脚本。 此步骤只须在开发时使用。

当您将适用的许可证引入 Borland Enterprise Server 时,客户许可证序列号和激活密匙会自动生成。 您可以在以下文件中找到序列号和激活密匙:

<your_install_root/var/servers/<your_server_name/adm/client.license

运行

要运行 Borland Enterprise Server,请进入 其 bin 子目录 并键入 ias。 在 Windows 中,需要选择“开始|程序|Borland Enterprise Server。 请参阅用户指南 以了解详情。

要使用基于 Java 的控制台,请进入您的安装的 bin 目录并键入 console。 此控制台允许您浏览、控制和配置服务器,也 允许您将应用部署到服务器。 在 Windows 中,需要选择“开始|程序|Borland Enterprise Server|控制台”。 请参阅用户 指南以了解详情。

当控制台启动时,会出现一个登录对话。 所有服务器上安装的默认用户名均为 admin。 此用户的密码也是 admin

启用安全性

在默认情况下,Borland Enterprise Server 分区中的用户域的安全性是被禁用的。 要启用一个分区上的安全性时,请启动控制台并找到您的分区。 右击并选择配置。 在“安全性”标签上,选中“启用安全性”方框。 当系统提示重启动时,请重新启动分区。

本版本中相对于 5.0.2 的新增功能

管理中心和管理代理

在以前的版本中,BES 管理有两个层次,即控制台和服务器。 BES 5.1 中引入了一个 3 层管理系统,其中包括管理中心服务器、管理代理和控制台。 5.0 版本的控制台功能没有改变。 对于 BMS 的使用是可选的。

管理系统简化了群集的创建和管理。 您需要使用 BMS 进行管理的主机仅需启动 BMS 代理。 通过它,您可以在控制台中使用新特性来管理(启动、停止等)BES 的所有组件。

Sun Petstore J2EE 实例应用的可群集版本

本版本中包括这样的一个 Petstore 的版本:您可以使用 BMS 系统将它部署到 BES 群集。 本版本中提供详尽的教学软件来说明如何逐步将 Petstore 部署到 BES 群集。 Petstore 教学软件将会不断更新和完善,它为用于示范如何开发 BES 特性的实例提供了基础。 请访问 http://www.borland.com/techpubs/bes 以获取更新版。 在部署 CD 上的实例之前,请先查看一下已知的问题。

5.0.2 和 5.1 之间的修复组件/增强组件

我们提供了以下的修复组件用以应对曾经在以前版本中出现过而在 5.1 版本中已得到解决的问题。 每个修复组件前面是其错误代码。

  • 30527: 如果在分区上启用了 SSL,则 Apache 和 osagent 会完全占用 CPU。
  • 30596: 自联接缺少 M:N SQL 别名。
  • 30635: LDAPLoginModule 需要完整路径的标识名。 请参阅安全增强组件与变更
  • 30659: java2iiop arg 中对“-”值的 iastool -genstubs 处理不正确。
  • 31229: 如果 EAR 中的 WAR 内的库包含存根,则在生成存根的过程中会引发 ZipException 异常。
  • 30815: 在 JDataStore 数据库中分配空间时出现无限循环。
  • 31907, 30673: JBuilder 7/BES 集成更新。
  • 33539: VisiConnect 实例不能工作。
  • 30615: 容器发出 IllegalStateException 异常和 OutOfMemoryError 错误。
  • J2SE

    以下各节详述 Borland Enterpise Server 的 J2SE 要求。 以下的 J2SE 版本参考仅指经认证可在 Borland Enterprise Server 上使用的版本。

    您需要阅读随 Borland Enterprise Server 的 Java 版本附带的发布说明和/或 Readme,这一点非常重要。 特别要注意详细描述必须使用的操作系统补丁的部分。 如果不这样做,可能会导致无法预见的 Java VM 故障。

    Windows 和 Linux

    J2SE 1.3.1_04 作为 Borland Enterprise Server 的一部分安装于 Windows 和 Linux 上。 您可以参阅 Sun 网站上的发布说明

    Solaris

    J2SE 1.3.1_04 作为 Borland Enterprise Server 的一部分安装于 Solaris上。 您可以参阅 Sun 网站上的发布说明

    从以前版本升级

    从 Borland Enterprise Server 5.0.1 或 5.0.2 升级

    在从 Borland Enterprise Server 5.0.1 或 5.0.2 升级时,不要直接安装在以前的安装系统上。 应该安装于单独的目录或者先卸载以前的版本。 然后,您可以将您的应用部署到 Borland Enterprise Server 5.1。

    从 Borland Enterprise Server 5.0.0 升级

    在从 Borland Enterprise Server 5.0.0 升级时,不要直接安装在以前的安装系统上。 应该安装于单独的目录或者先卸载以前的版本。 然后,您可以将您的应用部署到 Borland Enterprise Server 5.0.2。

    注: 由于针对与规范兼容性相关的错误修复件的存在,使得 Borland Enterprise Server 5.1 与 5.0.0 版本之间不能互操作。 因此,互相作用的 5.0.0 版本的所有安装都必须同时升级。

    从 Borland AppServer 4.5 升级

    在从 Borland AppServer 4.5 升级时,不要直接安装在以前的安装系统上。 应该安装于单独的目录或者先卸载以前的版本。 然后,您可以将您的应用从 BAS 4.5 移植到 Borland Enterprise Server 5.0。

    从 VisiBroker for Java 和 VisiBroker for C++ 升级

    Borland VisiBroker 对象请求代理 (ORB) 现在将 Java 和 C++ 封装成单一的安装。 因此,保持 Java ORB 和 C++ ORB 的一些特性和行为的同步是必要的。 本节详述 Gatekeeper、VisiBroker ORB 总体和命名服务实用工具方面的变化。

    Gatekeeper 增强组件与变更

    在默认情况下,Gatekeeper 中的安全服务是关闭的;这意味着 Gatekeeper 的运行方式与其在具有增加功能的 VBJ4.5.x 下相同。 要在 Gatekeeper 中启动安全服务,请使用:

    vbroker.security.disable=false

    没有必要使用 Gatekeeper 中的 vbroker.orb.dynamicLib 属性来显式地加载以下服务:

    安全服务已与 Gatekeeper 集成在一起。 当启用安全性后,所需要的服务即被加载。 然后,可以指定特定的监听器端口。

    我们增加了新的 vbroker.gatekeeper.load.balancer 属性,此属性允许以负载平衡的主/从配置方式工作的 Gatekeeper 使用单独的主配置方式来工作。 另外,我们还增加了以下的负载平衡增强组件:

    安全增强组件与变更

    以下的列表提供了本版本中为安全服务所作的增强组件和/或变更:

    ORB 增强组件与变更

    TBD

    命名服务增强组件与变更

    TBD

    兼容性说明

    J2EE

    AppServer 版本与 J2EE 1.3 兼容。 现有的 J2EE 1.2 应用可以被部署到分区。 控制台也提供工具以帮助您将这些应用移植到 J2EE 1.3 下。

    单独运行的实用工具

    一些单独的 4.5.1 实例工具,例如 GenerateJarDSDeploycom.inprise.ejb.util.Verify 已从此产品中被删除。 相当的功能已被固化到控制台和 iastool 命令行实用工具中。

    VisiBroker

    Visibroker 与 Visibroker 3.x、4.0.1、4.1.1 完全后向兼容。如果要让 Visibroker 与 Visibroker 4.5.x 完全后向兼容,我们建议您使用 Visibroker 4.5.1 补丁 8 或以后版本对您的 Visibroker 4.5 和 4.5.1 安装进行更新。 请注意,VisiBroker 不能与以前的 VisiBroker 版本二进制兼容。

    在默认情况下,后向兼容属性 vbroker.orb.enableVB4backcompat 被置为 False。 此默认值是可接受的,除非您在使用 Gatekeeper。 如果您的服务器实现中包含 Gatekeeper,则此属性必须在应用服务器和 Gatekeeper 实现上同时设置为 True。 如果 Visibroker 将其属性 vbroker.orb.enableVB4backcompat 置为 False,则可和其它的 ORB 通信。

    对于可移植拦截器的支持和 4.x 拦截器与 3.x 拦截器共存的支持是通过 4.x 移植层来提供的。

    要使得使用 GIOP1.2 wchar/wstring 的 VBC++ 服务器互操作,必须设置以下属性:

    安全性

    本版本对安全实现作了以下变更,这些变更会影响后向兼容性:

    已知问题

    Petstore

    不要部署 CD 上的 petstore_admin_opc.ear 和 supplier.ear。 请访问站点 以获得这些文件的最新版本。 如果不借助于这些 ear 文件,您将 不能使用 Petstore 管理组件。 不过,您可以 购物及购买 pet。 如果您部署它们,则它们上面会显示红叉,这表示 它们没有启动。 如果您按“提交”按钮来购物,则被管理的分区可能会占用 200MB ram 和 1700 多个线程。 您将必须销毁 ias 和使用处理管理器的分区处理。 请访问 http://www.borland.com/techpubs/bes 以 获得更新版本。

    VisiBroker

    以下的已知问题与 Borland Enterprise Server 提供的 VisiBroker ORB 实现有关。

    VisiBroker C++ 下的可移植拦截器

    4.x 服务器请求拦截器:

    在共同定位存根的情况下,PI 请求拦截器不被调用。 它们在共同定位 DII 的情况下被调用。

    对于 ClientRequestInfo 的 PI 限制:

    对于 ServerRequestInfo 的 PI 限制:

    VisiBroker Java 下的可移植拦截器

    当对客户和服务器进行共同定位时,仅启动可移植拦截器用于动态调用。 对于静态存根,无需启动 PI。 VisiBroker for Java 4.x 拦截器的行为没有改变,这意味着不会为动态或静态共同定位调用来启动这些拦截器。

    com.inprise.vbroker.PortableInterceptor.SystemExceptionHelper 类提供 insertextract 方法以便分别从 Any 中取出和向其中插入系统异常。 这些静态方法具有以下定义:

    对于 ClientRequestInfo 的 PI 限制:

    对于 ServerRequestInfo 的 PI 限制:

    主线程模型

    在 VisiBroker C++ 下,ORB 将使用任何调用 orb-run()orb-perform_work() 的线程来向服务对象发送请求。 为了与 OMG 规范保护一致,仅当以上调用具有主线程 POA 时,才由应用在主线程上执行以上调用。

    在 VisiBroker Java 中,Java ORB 包含与主线程相关的选项。 有关详情,请参阅文档附件中的 vbroker.orb.mtmPerCall 属性。

    JVM

    在 Windows 2000 中,由于许可证管理器(LM)中存在的潜在问题,VisiBroker C++ 应用可能会出现错误,并随带以下消息: The application failed to initialized properly (0xc0000005). Click OK to terminate the application.(应用没有正常初始化(0xc0000005)。单击“确定”以结束应用。) 为避免此类问题,请给 USERPROFILE 环境变量使用短型或引号 ("") 限定的文件夹名称。 例如:c:\"Documents and Settings"\Administrator

    由于 JDK 1.3.x 中的错误 4500124,设置了 connectionMax 值的 VisiBroker Java server 可能会在大负载下发出封装异常。 Sun 已解决了此问题,并会将它用于 2001 年 12 月发布的下一个 JDK 1.3.1 补丁版本中 (1.3.1_02)。

    当在 Linux 上使用 Sun 的 J2SE 1.3.1 时,客户应用可能会在退出时 在 com.inprise.vbroker.orb.SocketSCM.shutdown() 位置挂起。 这是由 JVM 中的 4344135 错误引发的。 要避免此类问题,请在运行应用时,将 J2SE_PREEMPTCLOSE 环境变量设置为 1。 即:

    J2SE_PREEMPTCLOSE=1
    export J2SE_PREEMPTCLOSE
    

    有关详情,请参阅 Sun Microsystems 提供的 J2SE 1.3 发布说明

    安全性

    以下的已知问题与 Borland Enterprise Server 的安全实现有关:

    // 加载由 X509CertificateChain w/ a PKCS8 DER 编码的私匙
    
    public CertificateWallet (String alias, java.security.cert.X509Certificate[] chain,
    byte[] pkcs8DEREncodedPrivateKey, char[] password);
    
    // 使用 Keystore 创建 wallet。 这需要 keystore 中的一个证书
    // 并需要传入私匙。
    
    public CertificateWallet (KeyStore ks, char[] keyPassword);
    
    // 使用 Java 本地证书和私匙对象
    
    public CertificateWallet (String alias, java.security.cert.X509Certificate[] chain,
    	java.security.PrivateKey key, char[] password)
    
    // 证书链
    
    public CertificateWallet(X509Certificate[] chain);
    
    // PKCS #12 证书。 这里假设私匙与
    // 证书文件密码相同
    
    public CertificateWallet (byte[] pkcs12DERbytes, char[] password)
    
    // 基于 Keystore 文件名
    
    public CertificateWallet (String fileName, char[] filePassword,
    	String alias, char[] password)
    	

    安装程序

    在使用本地化而非英语版本的 Solaris 计算机上安装时,安装程序可能会失败。 如果出现下列栈跟踪信息,则可能是此问题:

    Invocation of this Java Application has caused an InvocationTargetException.    This application will now exit. (LAX)

    栈跟踪信息:

    java.lang.NoClassDefFoundError: sun/awt/motif/CharToByteX11JIS0208  
    at sun.awt.motif.MFontPeer.getFontCharset(MFontPeer.java:85)  
    at sun.awt.PlatformFont.(PlatformFont.java:94)  
    at sun.awt.motif.MFontPeer.(MFontPeer.java:61)  
    at sun.awt.motif.MToolkit.getFontPeer(MToolkit.java:195)  
    at java.awt.Font.initializeFont(Font.java:106)  
    at java.awt.Font.(Font.java:121)  
    at sun.awt.motif.MFramePeer.(MFramePeer.java:77)  
    at sun.awt.motif.MToolkit.createFrame(MToolkit.java:121)  
    at java.awt.Frame.addNotify(Frame.java:203)  
    at com.zerog.ia.installer.Main.b(Unknown Source)  
    at com.zerog.ia.installer.Main.main(Unknown  Source)  
    at com.zerog.lax.LAX.launch(Unknown Source)  
    at com.zerog.lax.LAX.main(Unknown Source)

    解决办法是取消 LANG 环境变量的设置。

    SonicMQ

    Borland Enterprise Server 的安装程序也可以安装和配置 SonicMQ。

    以下是与 Borland Enterprise Server 的 SonicMQ 安装有关的已知问题:

    SonicMQ 可能会隐式地终止安装,而 Borland Enterprise Server 安装程序可能不报告安装失败。 要确认此问题,请查看一下<install_root/SonicMQ/silent.log 文件。 如果其中包含:

    -------------------------------- 
    	Install started on Mon Nov 19 13:23:43 PST 2001 
    	ERROR: in Configuration Process!: Mon Nov 19 13:23:50 PST 2001 
    	Configuration directory missing. Mon Nov 19 13:23:50 PST 2001 
    	ERROR: Installation encountered errors. Mon Nov 19 13:23:50 PST 2001

    这些可能是其原因。 您还可以看到

    Exception in thread "main" java.lang.NoClassDefFoundError: progress/message/tools/IBrokerManagerListener 
        at java.lang.ClassLoader.defineClass0(Native Method) 
    	at java.lang.ClassLoader.defineClass(ClassLoader.java:486) 
    	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:111)

    要纠正此问题,需采取下列步骤。

    1. 卸载 Borland Enterprise Server。
    2. 确保在主目录中有足够的临时空间。 在 Unix 和 Linux 中,主目录用于临时空间。 在 Windows 平台上,使用用户配置文件目录。 此目录一般与系统根目录在同一驱动器上,而值包含在环境变量 %USERPROFILE% 中。
    3. 重新安装 Borland Enterprise Server。
    4. 验证 SonicMQ 安装(通过支持服务器或检查 /SonicMQ/silent.log)。

    SonicMQ 使用名为 vpd.properties 的文本文件帮助管理多个安装。 此安装会在主目录(在 Unix and Linux 上)中和系统目录(在 Windows 系统上)中创建此文件。 如果您打算安装多个 SonicMQ,我们不建议您删除或修改此文件。

    SonicMQ 安装程序会在主目录(在 Unix 和 Linux 上)中或用户配置文件目录(在 NT 上)中留下临时文件。 这些目录一般具有“ismp*”格式的名称。 在安装完成后即可以删除这些目录。

    在 AIX 中,需要将 SonicMQ 安装为根用户。 但是,非根用户无法从 BES 控制台启动 SonicMQ 代理。

    要纠正这一问题,请以根用户的身份执行下列步骤。

    1. prompt> cd <bes_install_dir>
    2. prompt> chown -R <username> SonicMQ

    Web 服务器

    iiop 连接器和 corbaloc 字串的用法问题

    iiop 连接器和 corbaloc 字串用作 webcontainer_ids 时存在用法问题。 如果 corbaloc 字串包含未解析为有效 IP 地址的主机名称终点,则 iiop 连接器将无法使用 webcontainer_id。 它会被基本 visibroker orb 以 CORBA::BAD_PARAM 异常的形式拒绝。

    要避免这一问题,一种方法就是在 corbaloc 字串中采用 IP 地址而不是主机名称(如果在设置 webcontainer_id 时认真验证主机名称),就可以大大减少发生此类问题的几率,例如:

    webcontainer_id=corbaloc::192.20.34.10,:129.20.34.12/tc_inst1

    注: 上述问题在 Apache iiop 连接器和 IIS 重定向器中均存在。

    Web 服务

    EJB 容器

    VisiConnect

    控制台和命令行工具

  • 在某些配置情况下,服务器搜索会挂起:
  • 在以下几种情况下,搜索会挂起:服务器管理安全禁用、管理 SSL 监听器端口设置为非零值以及 iiop 监听器端口设置为 0。有关搜索配置选项的完整描述,请参阅题为“服务器搜索”的 常见问题(FAQ)。

  • EJB 设计器不能正确支持 JDBC2 数据源属性。
  • 您必须设置 DAR 模块中的 JDBC2 数据源属性。 不要使用 EJB 设计器设置这些属性。

  • EJB 设计器可能会毁坏 DAR 和 jndi-definitions.xml 中的 JDBC2 数据源。
  • 解决办法是在含有 EJB JAR 的 EAR 之外保留 DAR 备份。 使用 EAR 内的 EJB 设计器之后,将所有引用的 DAR 复制回 EAR,从而恢复这些 DAR。

  • 重命名 EJB 设计器中的数据源可能会造成混乱。
  • EJB 设计器在 DDEditor 左下角显示的树中的树节点上显示数据源的名称。 由于空间原因,省略了前缀“serial://datasources/”。 如果您要编辑此名称,可以右击该节点并选择重命名。 输入新名称时,不要输入前缀 — 只输入余下的名称信息。 此前缀会自动添加到输入的名称前面。

  • 在创建新部署描述符时,EJB 设计器不会允许用户重命名 bean 或使用“Classes/Packages”按钮。
  • 目前仍不支持这些功能。

  • 在将 EJB JAR 添加到 EAR 内后,DDEdito 不保存 EJB JAR 的编辑内容。
  • 在将 EJB JAR 添加到 EAR 内后,保存 EAR,关闭 EAR,然后在 DDEditor 中重新打开它。 此时您即可以编辑 EJB EAR。 如果不这样做,则会丢失在添加 JAR 后编辑的内容。

  • DDEditor 可能会意外地删除消息驱动 bean 的描述 onMessage 方法的 XML 元素及其参数。
  • 很多 J2EE 实例(例如 PetStore)包含消息驱动 bean 的部署描述符,这些描述符全面定义此 bean 的 onMessage 方法以及 onMessage 方法参数。 这些定义不是必选的,DDEditor 会以红色显示这些元素来表明这一点。 如果在 DDEditor 中对这些定义进行操作,则会导致其从文件中删除。 这是正常操作,不会影响应用程序的功能,只是会令用户感到不解。 存在问题的 XML 元素包括:&ltmethod>、&ltmethod-params> 和 &ltmethod-param&gt。

  • 分区授权域的配置。
  • 由于增加了 GUI 界面协助 rolemap 定义/配置,分区授权域的定义和配置得到了增强。 此实现中存在的某些问题可能会令人困惑。 此问题将在 2002 年 8 月上旬发布的另一个安全 FAQ 中全面阐述。完成后,本文档中将包含此 FAQ 的链接。 在此之前,如果需要此方面的协助,请与支持中心联系。

    打印版本信息

    本产品可以打印本版本中包含的二进制程序和程序库的版本信息。 一般使用可执行的 vbver 后面加文件的形式来查询版本信息。

    例如 vbver ias.exe 会打印:

    Information for:        ias.exe
    Product Name:           Borland Enterprise Server
    Version:                05.01.00.C1.11
    Copyright:              (C) 1996, 2001
    Company:                Borland Software Corporation
    Build Date:             07/24/2002 07:58:48
    

    同样,vbver vbjorb.jar 会打印:

    Information for:        ..\lib\vbjorb.jar
    Product Name:           VisiBroker Developer for Java
    Version:                05.01.00.C1.10
    Copyright:              (C) 1996-2001
    Company:                Borland Software Corp.
    Build Date:             07/13/2002 13:51:22
    

    要获得这些实用程序(例如 idl2java、irep、idl2ir 等等)的版本信息,需要将 -version 变元传送给实用程序。

    卸载 Borland Enterprise Server

    在卸载 Borland Enterprise Server 时必须执行下列步骤,才能确保正确卸载 SonicMQ

    1. 使用 SonicMQ 卸载程序卸载 SonicMQ。 您可以通过“程序菜单”或批处理文件 <install_root>/SonicMQ/uninstall.bat 来使用 Windows 卸载程序。 您可以通过 shell 脚本 <install_root>/SonicMQ/uinstall.sh 来使用 Unix 或 Linux 卸载程序。 SonicMQ 卸载程序在删除大量文件时会提示您。 对所有提问均回答“是”是安全的。
    2. 卸载 Borland Enterprise Server。 在 Windows 中,卸载程序位于 install_root/UninstallerData/uninstall.exe,而在 Unix 和 Linux 中位于 <install_root>/UninstallerData/uninstall
    3. <install_root>/ 中的所有剩余文件可以安全删除。