本主题提供针对主流 JMS 提供者配置 SOAtest 和 Virtualize 的参考内容。

章节目录:

添加所需 jar 文件

若要将所需 jar 文件(下面表中所列)添加到SOAtest 和 Virtualize classpath,请完成以下内容:

  1. 选择 Parasoft> 首选项
  2. 打开 Parasoft> 系统属性页面。
  3. 点击添加 JARs 按钮,选择需要添加的 JAR 文件。

JNDI 身份验证

任何时候,如果需要用户名和密码来连接 JMS 系统,而 JMS 系统配置为需要对 JNDI 访问进行身份验证,则必须配置以下 JNDI 属性:

  • java.naming.security.principal=<username>
  • java.naming.security.credentials=<password>

Amazon Simple Queue Service (SQS)

针对

Amazon Simple Queue Service (SQS) 与其他通过 JNDI 查找建立 JMS ConnectionFactory 较为困难的 JMS 提供者。

JAR 最低要求

Amazon SQS java 客户端 JAR(可在 https://repo1.maven.org/maven2/com/amazonaws/ 的 Maven Central 获取

  • amazon-sqs-java-messaging-lib-1.1.x.jar
  • aws-java-sdk-sqs-1.12.x.jar
  • aws-java-sdk-core-1.12.x.jar
  • aws-java-sdk-sts-1.12.x.jar

WSO2 carbon-jndi JAR(可从 https://maven.wso2.org/nexus/content/repositories/releases/org/wso2/carbon/jndi/org.wso2.carbon.jndi/ 的 WSO2 Maven 资源库中获取):

org.wso2.carbon.jndi-<version>.jar

工厂类

来自 WSO2 carbon-jndi 项目的 InMemoryInitialContextFactory。请参阅Creating the JMS ConnectionFactory Object

连接 AWS

使用 I AM 用户角色连接 AWS。详情请参考以下 Amazon 文档:

了解更多

https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/getting-started.html

https://github.com/awslabs/amazon-sqs-java-messaging-lib/tree/master/src/main/java/com/amazon/sqs/javamessaging

创建 JMS ConnectionFactory 对象

以下 Groovy 脚本可帮助您创建 JMS ConnectionFactory 对象,并将其绑定到内存中 InitialContext(bindConnectionFactory 方法)。每次启动 SOAtest 或 Virtualize 时运行一次该脚本。您可以使用扩展工具(如 SOAtest .tst 或 Virtualize .pvn 中的 Set-Up 测试)为每个需要该对象的 .tst 运行脚本,或者实现一个更精密的流程,以适应您环境的方式自动执行脚本。 

该脚本支持两种进行 AWS 身份验证的方法。如果您的 SOAtest/Virtualize 服务器部署在 AWS 环境中,那么 AWS 会建议您使用实例提供者流程进行身份验证。另外,您也可以通过静态模式进行 AWS 身份验证,这种方式需要 region、accessKey 和 secretKey 信息。有关该脚本中定义的身份验证变量的信息,请参阅Script Variables

import java.util.*

import javax.jms.*
import javax.naming.*

import com.amazon.sqs.javamessaging.*
import com.amazonaws.auth.*
import com.amazonaws.regions.*
import com.amazonaws.services.securitytoken.*
import com.amazonaws.services.securitytoken.model.*
import com.amazonaws.services.sqs.*

// Specify how you want to connect to AWS ("instance" or "static")
provider = "instance"

// Access keys for CLI, SDK, & API access
// see https://console.aws.amazon.com/iam/home#/security_credentials
accessKey = ""
secretKey = ""
region = Regions.US_WEST_1

// Multi-factor authentication
// set serialNumber to null if MFA not enabled
serialNumber = null
tokenCode = ""   // code from Google Authenticator (for example)
durationSeconds = 3600

void bindConnectionFactory() {
    Properties env = new Properties()
    env.put(Context.INITIAL_CONTEXT_FACTORY, "org.wso2.carbon.jndi.internal.InMemoryInitialContextFactory")
    Context ctx = new InitialContext(env)
    SQSConnectionFactory sqsConnectionFactory = createSQSConnectionFactory()
    ctx.rebind("SQSConnectionFactory", sqsConnectionFactory)
}

SQSConnectionFactory createSQSConnectionFactory() {
    AWSCredentialsProvider credentialsProvider = null
    if (provider.equals("instance")) {
        credentialsProvider = new InstanceProfileCredentialsProvider(false)
    } else {
        credentialsProvider = new AWSStaticCredentialsProvider(
                new BasicAWSCredentials(accessKey, secretKey))
        if (serialNumber != null) {
            credentialsProvider = getTemporaryCredentials(credentialsProvider)
        }
    }
    return new SQSConnectionFactory(
            new ProviderConfiguration(),
            AmazonSQSClientBuilder.standard()
                    .withRegion(region)
                    .withCredentials(credentialsProvider).build())
}

AWSStaticCredentialsProvider getTemporaryCredentials(AWSCredentialsProvider credentialsProvider) {
    AWSSecurityTokenService sts_client = null
    try {
        sts_client = AWSSecurityTokenServiceClientBuilder.standard()
                .withRegion(region)
                .withCredentials(credentialsProvider).build()
        Credentials creds = sts_client.getSessionToken(new GetSessionTokenRequest()
                .withDurationSeconds(durationSeconds)
                .withSerialNumber(serialNumber)
                .withTokenCode(tokenCode)).getCredentials()
        return new AWSStaticCredentialsProvider(
                new BasicSessionCredentials(
                        creds.getAccessKeyId(),
                        creds.getSecretAccessKey(),
                        creds.getSessionToken()))
    } finally {
        if (sts_client != null) {
            sts_client.shutdown()
        }
    }
}

将创建一个 SQSConnectionFactory 并绑定 SQSConnectionFactory 名称。在任何用于查找 JMS ConnectionFactory 的 JNDI 属性中,将初始化环境设置为 org.wso2.carbon.jndi.internal.InMemoryInitialContextFactory,将连接工厂设置为 SQSConnectionFactory.

提供者 URL 未使用是因为 JMS ConnectionFactory 以编程方式创建,而不是基于 URL 动态创建。对于某些 SOAtest 和 Virtualize 接口(如 Virtualize 消息代理),则必须填写提供者 URL 字段。在这类情况下,输入任何非空字符串,对话框就会接受您的配置设置。

您可以创建一个消息传送客户端,并为其中一个已定义的队列发送/接收消息。您还可以看到所有预期 JMS 头的属性,包括消息 ID。

脚本变量

下表描述了脚本中使用的变量:

accessKey

secretKey

region

用于 CLI、SDK 和 API 访问的访问密钥凭据。
serialNumber启用多重身份验证(MFA)时唯一标识设备的编号。对于虚拟 MFA 设备,该序列号则为 AWS 安全凭据页面所示的设备的亚马逊资源名称 (ARN)。
tokenCode您的 MFA 设备(如 Google Authenticator)返回的值。
durationSeconds指定临时 MFA 凭据有效期的值。

Apache ActiveMQ

针对针对 Apache Active MQ
JAR 最低要求可在 ActiveMQ 安装目录
- activemq-all-[version].jar 下找到
典型提供者 URL 模式tcp://hostname:61616
工厂类

JNDI 初始化环境工厂类
- org.apache.activemq.jndi.ActiveMQInitialContextFactory

默认的连接工厂 JNDI 名称
- ConnectionFactory

了解更多http://activemq.apache.org/jndi-support.html

Apache Qpid

针对针对 Apache Qpid
JAR 最低要求

可在 http://qpid.apache.org/download.html的 qpid-java-client-{ver}.tar.gz 中找到。

jar 的数量根据 Qpid 版本的变化而变化。Qpid 0.8 版本下的 jar 包括以下:

  • backport-util-concurrent-2.2.jar
  • geronimo-jms_1.1_spec-1.0.jar
  • mina-core-1.0.1.jar
  • mina-filter-ssl-1.0.1.jar
  • qpid-all.jar
  • qpid-client-0.8.jar
  • qpid-common-0.8.jar
  • slf4j-api-1.6.1.jar
连接 URL JNDI 属性connectionfactory.<jndiname> 
例如:
connectionfactory.local = amqp://user:password@clientid/testpath?brokerlist='tcp://localhost:5672'
工厂类

JNDI 初始化环境工厂类
- org.apache.qpid.jndi.PropertiesFileInitialContextFactory

了解更多

https://cwiki.apache.org/qpid/how-to-use-jndi.html


GlassFish MQ

针对针对 GlassFish
JAR 最低要求

GlassFish 3 - 可在 [GlassFish install directory]/glassfish/lib 下找到:- gf-client.jar

注意,gf-client.jar 引用了 GlassFish 3 安装的其他几十个 jar 文件。必须引用 GlassFish 安装目录中的 gf-client.jar,以便能够找到并加载引用的 jar 文件。GlassFish 可以从 http://glassfish.java.net/加载。

GlassFish 2 - 可在 [GlassFish install directory]/lib 下找到:

- appserv-admin.jar
 - appserv-deployment-client.jar
 - appserv-ext.jar
 - appserv-rt.jar
 - javaee.jar
 - install/applications/jmsra/imqjmsra.jar

典型提供者 URL 模式iiop://yourhostname:3700
工厂类

JNDI 初始化环境工厂类
- com.sun.enterprise.naming.SerialInitContextFactory

注意,GlassFish 拥有另一个 JNDI 初始化环境工厂类,其名为 "com.sun.appserv.naming.S1ASCtxFactory"。这个类的性能很差,不应该使用。相反地,使用所提及的 SerialInitContextFactory 类,该类即既适用于 GlassFish 2 也适用于 GlassFish 3。

注意GlassFish 客户端和 GlassFish 服务端相互执行反向 DNS 查找。如果服务端没有识别到客户端的主机名,则可以向服务端的主机文件添加客户端的主机名和 IP 地址。如果客户端没有识别到服务端的主机名,则可以向客户端的主机文件添加服务端的主机名和 IP 地址。通常情况下,主机文件在 Unix 上是 /etc/hosts,在 Windows 上是 %SystemRoot%\system32\drivers\etc\hosts。
了解更多 http://glassfish.java.net/

IBM WebSphere 应用程序服务器 (WAS)

针对针对 WAS 默认的 JMS 提供者。Parasoft 推荐使用 IBM 的 JMS 瘦客户端,它由 WAS 7.0 或更高版本提供,并且可以与 WAS 6.0.2 及更高版本相互作用。
JAR 最低要求

可在 [WAS installation dir]/runtimes
- com.ibm.ws.ejb.thinclient_7.0.0.jar
 - com.ibm.ws.orb_7.0.0.jar
 - com.ibm.ws.sib.client.thin.jms_7.0.0.jar 下找到

典型提供者 URL 模式iiop://yourhostname:2809/
工厂类

JNDI 初始化环境工厂类
- com.ibm.websphere.naming.WsnInitialContextFactory

了解更多WebSphere 应用程序服务器网络部署,版本 7.0 文档

如果没有 WAS 7.0 或更高版本该怎么办?

如果没有使用(或没有访问)WAS 7 安装,则下载并安装可以与 WAS 6.0.2 及更高版本相互作用的 JMS 的 IBM 客户端:

  1. 从 http://www-01.ibm.com/support/docview.wss?uid=swg24012804下载 JMS 客户端安装程序 jar
  2. 按照下载页面上的说明为 SUN JRE 安装 JMS 和 JNDI jar。安装客户端 jars 的命令类似于:
    "java -jar sibc_oeminst-o0902.06.jar jms_jndi_sun C:\ibmjms"
    客户端 jars 将安装在 lib 文件夹下。
  3. 添加 JNDI 属性 com.ibm.CORBA.ORBInit=com.ibm.ws.sib.client.ORB
    • 为了简单起见,可以在 JRE 的 lib 文件夹中 jndi.properties 文件中对这个 jndi 属性进行全局设置。
    • 针对此产品的独立构建,JRE lib 文件夹位于 <INSTALL>/plugins/com.parasoft.ptest.jdk.eclipse.core.web.<OS>.<ARCH>_<VERSION>/jdk/jre/lib。
    • 当使用 WAS 7 试运行文件夹中的 jar 时,不需要此 JNDI 属性。

IBM WebSphere MQ (MQ Series)

针对

针对 WebSphere MQ JMS 提供者

JAR 最低要求

针对 MQ 9

可在 [WebSphere MQ installation directory]/java/lib 下找到这些 jar 文件:

  • com.ibm.mq.allclient.jar.

针对 MQ 8

可在 [WebSphere MQ installation directory]/java/lib 下找到这些 jar 文件:

  • com.ibm.mq.allclient.jar.

针对 MQ 7.0

可在 [WebSphere MQ installation directory]/java/lib 下找到这些 jar 文件:

  • com.ibm.mq.jar
  • com.ibm.mqjms.jar
  • com.ibm.mq.commonservices.jar 
  • com.ibm.mq.headers.jar
  • com.ibm.mq.jmqi.jar
  • connector.jar
  • dhbcore.jar
  • com.ibm.mq.pcf.jar

还需要下载以下 jar 文件:

  • ME01:WebSphere MQ - 初始化环境工厂 — mqcontext.jar

针对 MQ 6.0

可在 [WebSphere MQ installation directory]/java/lib 下找到这些 jar 文件:

  • com.ibm.mq.jar
  • com.ibm.mqjms.jar - connector.jar
  • dhbcore.jar
  • jta.jar

还需要下载以下 jar 文件:

  • MS0B:用于 WebSphere MQ Java 类 — com.ibm.mq.pcf.jar
  • ME01:WebSphere MQ - 初始化环境工厂 — mqcontext.jar

MQ 客户端下载

MQ 客户端中还包含 [WebSphere MQ installation directory]/java/lib 下的这些 jar 文件。IBM 不再提供 MQ 6 客户端。MQ 7 客户端再 http://www-01.ibm.com/support/docview.wss?uid=swg24019253上可用


典型提供者 URL 模式

yourhostname:1414/SYSTEM.DEF.SVRCONN

工厂类

WebSphere MQ JNDI 初始化上下文工厂类 - com.ibm.mq.jms.context.WMQInitialContextFactory

SSL 配置

WebSphere JMS 客户端可以通过在初始化环境中设置合适的属性来实现 SSL 连接。WebSphere MQ 和 WebSphere JMS 客户端都将为 SSL 连接设置相同的属性。

没有 JNDI 的 JMS 消息传递

在属性选项卡下,定义以下属性:
Name: Value
provider:  WebSphere MQ
queue.manager: [your queue manager name]
channel: [your channel name]
port: [port number, the default WebSphere MQ port is 1414]
有了此配置,SOAtest/Virtualize 将使用以下提供的参数创建连接工厂:

  import com.ibm.mq.jms.*;
  ...
  MQConnectionFactory cf = new MQConnectionFactory();
  cf.setHostName(hostname);
  cf.setPort(port);
  cf.setQueueManager(queuemanager);
  cf.setChannel(channel);
  cf.setTransportType(JMSC.MQJMS_TP_CLIENT_MQ_TCPIP);   
  cf.setFailIfQuiesce(JMSC.MQJMS_FIQ_YES);
  cf.setUseConnectionPooling(true);
 其他信息

IBM 的 JNDI 通过发送用户的登录名来使用 Websphere MQ 服务器对自己进行身份验证。通常情况下,用户名是在启用 SOAtest/Virtualize 之前登录到工作空间时所提供的。

如果 MQ 服务器没有识别到用户名,则工具将失败,附带错误信息 "javax.jms.JMSSecurityException:MQJMS2013:为 MQQueueManager 提供的身份验证无效"。

该错误可以通过在 Websphere MQ 服务端机器上添加 Windows 用户账户解决。此账户应 1)与正在运行SOAtest 和 Virtualize的本地机器的账户具有相同的用户名,并且 2)是 "mqm" IBM WebSphere MQ 管理组的成员。

作为一种选择,可以通过更改 user.name Java 系统属性值来使用不同的用户名。该系统属性可以通过启动SOAtest 和 Virtualize进行配置,启动方法是使用 soatest/virtualize.exe -J-Duser.name=username,其中 username 是要使用的用户名。在某些使用配置中,通过 soatest/virtualize.exe -J-Duser.name= 使用空用户名可以工作。对于 user.name 属性使用 SYSTEM 也可以在某些配置中工作。 

还可以在测试套件执行期间更改 Java 系统属性,通过使用扩展工具调用 SUN 的 Java API 中的 java.lang.System.setProperty() 方法。

有关该错误的详情,请参阅 http://www.mqseries.net/phpBB/view-topic.php?t=40640
 

了解更多

http://www-01.ibm.com/software/integration/wmq/library/

http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/topic/com.ibm.mq.csqzaw.doc/jm10320_.htm

JBoss JMS

针对针对 JBoss JMS,以下 jar 列表基于 JBoss 5.0
JAR 最低要求

基于 [JBoss install dir]/client
 - jboss-javaee.jar
 - jnp-client.jar
 - jboss-logging-spi.jar
 - jboss-messaging-client.jar
- jboss-aop-client.jar
 - jboss-remoting.jar
 - jboss-common-core.jar
 - trove.jar
 - javassist.jar
 - jboss-mdr.jar
 - concurrent.jar
 - log4j.jar
 - jboss-serialization.jar

典型提供者 URL 模式yourhostname
工厂类

JNDI 初始化环境工厂类
- org.jnp.interfaces.NamingContextFactory

打开消息队列(OpenMQ)

注意,OpenMQ 可以通过独立运行,也可以作为 Glassfis App 服务端的一部分运行,在这里它被称为“Glassfish MQ”。如果正在使用 Glassfish 中的 OpenMQ,请参阅 GlassFish 部分。

针对针对 OpenMQ 服务器
JAR 最低要求

可在 [OpenMQ install dir]/mq/lib
 - fscontext.jar  
 - imq.jar
 - jms.jar 下找到

典型提供者 URL 模式yourhostname
工厂类

JNDI 初始化环境工厂类
- com.sun.jndi.fscontext.RefFSContextFactory

了解更多http://mq.java.net

Oracle 高级队列(AQ)

针对针对 Oracle 高级队列(AQ)
JAR 最低要求

可从 Oracle 数据库安装中找到:
- server/rdbms/jlib/aqapi.jar 
- server/jdbc/lib/ojdbc6.jar

从 Oracle Weblogic 服务器安装中找到:
- server/lib/aqapi.jar 
- server/lib/ojdbc6.jar

提供者 URL保留此字段为空。
JNDI 初始化环境工厂类oracle.jms.AQjmsInitialContextFactory
连接工厂 JNDI 名称

其中一个以下项:
- QueueConnectionFactory
- TopicConnectionFactory
- ConnectionFactory
- XAQueueConnectionFactory
- XATopicConnectionFactory
- XAConnectionFactory

所需的 JNDI 属性

java.naming.security.principal=<username>  
java.naming.security.credentials=<password>
db_url=jdbc:oracle:thin:@host:port:dbName

队列名/主题名

队列名以 Queues/ 为前缀,主题名以 Topics/为前缀。例如:
Queue: Queues/<queue_name> 
Topic: Topics/<topic_name>

其他信息Oracle 数据源老版本中的 aqapi.jar(如 10g)可能缺少初始化环境工厂类。使用 Oracle 数据库 11g 及更高版本的 jar 文件。最新版本的 Oracle 数据库 Express 版本(XE)可以在 oracle.com中下载:
Oracle 数据库 Express 版本 11g 发行版 2
了解更多与 Oracle AQ JMS 相互作用

Oracle BEA WebLogic

针对针对 Oracle BEA WebLogic
JAR 最低要求(瘦客户端)*

可在 [weblogic home]/wlserver_x/server/lib
 - wljmsclient.jar 
 - wlclient.jar 下找到

注意,可能需要其他 jar 文件。我们推荐使用完整客户端;这一点使您不必寻找和添加许多 jar。

JAR 最低要求(完整客户端)*按照说明中所描述那样为“Creating a wlfullclient5.jar for JDK 1.5 client applications.”构建单个 wlfullclient5.jar。
典型提供者 URL 模式

Thin Client:
iiop://yourhostname:7001

Full Client:
t3://yourhostname:7001

工厂类

JNDI 初始化环境工厂类:
- weblogic.jndi.WLInitialContextFactory

了解更多http://docs.oracle.com/cd/E12840_01/wls/docs103/client/jarbuilder.html

Progress Sonic MQ/ESB

针对针对 Progress Sonic MQ/ESB
JAR 最低要求

可在 [sonic install dir]/MQ7.x/lib
- mfcontext.jar 
- broker.jar
- sonic_Client.jar 下找到

注意,不能一起使用 SonicMQ 的 broker.jar 和 TIBCO 的 tibcojms.jar。

典型提供者 URL 模式tcp://yourhostname:2506
工厂类

JNDI 初始化环境工厂类
- com.sonicsw.jndi.mfcontext.MFContextFactory

了解更多请参考 SonicMQ 应用程序项目指南、Appendix A (使用 Sonic JNDI SPI),也可以参考其他相关部分。

RabbitMQ

针对针对 RabbitMQ
JAR 最低要求

Maven's Central Repository 下载客户端库。

rabbitmq-jms-<version>.jar

.bindings 文件示例#此文件由 JNDI FSContext 使用。
#Wed Jan 31 15:36:15 PST 2018
ConnectionFactory/FactoryName=com.rabbitmq.jms.admin.RMQObjectFactory
ConnectionFactory/ClassName=javax.jms.ConnectionFactory
ConnectionFactory/RefAddr/0/Type=name
ConnectionFactory/RefAddr/0/Encoding=String
ConnectionFactory/RefAddr/0/Content=jms/ConnectionFactory
ConnectionFactory/RefAddr/1/Type=type
ConnectionFactory/RefAddr/1/Encoding=String
ConnectionFactory/RefAddr/1/Content=javax.jms.ConnectionFactory
ConnectionFactory/RefAddr/2/Type=factory
ConnectionFactory/RefAddr/2/Encoding=String
ConnectionFactory/RefAddr/2/Content=com.rabbitmq.jms.admin.RMQObjectFactory
ConnectionFactory/RefAddr/3/Type=host
ConnectionFactory/RefAddr/3/Encoding=String
ConnectionFactory/RefAddr/3/Content=host.company.com
ConnectionFactory/RefAddr/4/Type=port
ConnectionFactory/RefAddr/4/Encoding=String
ConnectionFactory/RefAddr/4/Content=5672
典型提供者 URL 模式

包含 .bindings 文件的目录路径

file://C:/JNDI/rabbitMQ/

初始化环境com.sun.jndi.fscontext.RefFSContextFactory
连接工厂

JNDI 初始化环境工厂类
- ConnectionFactory

Solace JMS

针对针对 Solace JMS
JAR 最低要求commons-lang-<version>.jar
sol-common-<version>.jar
sol-jcsmp-<version>.jar
sol-jms-<version>.jar
典型提供者 URL 模式smf://<host>:<port>
工厂类

JNDI 初始化环境工厂类
 - com.solacesystems.jndi.SolJNDIInitialContextFactory
没有默认名称;特定的 JNDI 名称需要查询连接工厂。

必须设置其他 JNDI 属性 Solace_JMS_VPN=myvpn,以便获得访问连接工厂的权限。没有默认的 vpn 名称。

Sun Java 系统消息队列(Sun MQ)

针对针对 Sun MQ 服务器
JAR 最低要求

可在 [Sun MQ install dir]Sun/MessageQueue/mq/lib
- fscontext.jar
- imq.jar
- jms.jar 下找到

典型提供者 URL 模式yourhostname
工厂类

JNDI 初始化环境工厂类
- com.sun.jndi.fscontext.RefFSContextFactory

了解更多请参阅 Sun Java System Message Queue Administration 3.x/4.x Guide, Section Quick-Start Tutorial。此文档可从 http://docs.sun.com/app/docs/prod/message?l=en#hic 下载。在该文档中,导航到 Software> Application & Integration Services> Message Queue

TIBCO EMS

针对针对 TIBCO EMS
JAR 最低要求

可在 [TIBCO install dir]/ems/clients/java
- tibjms.jar
- tibcrypt.jar (SSL 要求)下找到

注意,不能一起使用 SonicMQ 的 broker.jar 和 TIBCO 的 tibcojms.jar。

典型提供者 URL 模式tcp://yourhostname:7222
yourhostname (if using default port numbers)
工厂类

JNDI 初始化环境工厂类
- com.tibco.tibjms.naming.TibjmsInitialContextFactory

SSL 配置

必须配置以下 JNDI 属性:
- com.tibco.tibjms.naming.security_protocol=ssl
- com.tibco.tibjms.naming.ssl_enable_verify_host=false
- com.tibco.tibjms.naming.ssl_enable_verify_hostname=false

对于双向 SSL,还需配置以下其他属性:
- com.tibco.tibjms.naming.ssl_identity=<path to client keystore>
 - com.tibco.tibjms.naming.ssl_password=<keystore password>
 - com.tibco.tibjms.naming.ssl_trusted_certs=<path to trusted certificate> 
- com.tibco.tibjms.naming.ssl_vendor=j2se
 - com.tibco.tibjms.naming.ssl_auth_only=true/false

其他信息

任何时候,连接到 Tibco EMS 需要用户名和密码,都必须配置以下 JNDI 属性:
- java.naming.security.principal=<username> 
 - java.naming.security.credentials=<password>

了解更多请参考 TIBCO 企业版消息服务用户指南,第 9 章:开发 EMS 客户端应用程序> 程序员检查表


Sun JMS

SOAtest 和 Virtualize 绑定一个 Sun JNDI 实现,使用 com.sun.jndi.fscontext.RefFSContextFactory 作为“C:\JNDIRoot”或类似内容的初始化环境和用户定义的提供者(目录),存储目录中的 JNDI 绑定以及本地硬盘上的文件。

在使用 Sun 实现时,必须使用 .binding 文件填充“C:\JNDIRoot”目录,以便 fscontext 可以成功查找 ConnectionFactory 和队列或主题对象。Parasoft 将 SOAtest/Virtualize 安装目录(/examples/jms/JndiFileProviderTest.java)中找到的示例放在一起,该目录创建了 .bings 文件。

其他 JMS 提供者

针对其他 JMS 提供者,请参阅有关如何配置 JMS 客户端以与系统通信的供应商指南。

  • No labels