このセクションは、一般的な JMS プロバイダー用に  SOAtest と Virtualize を構成するためのリファレンスを提供します。

このセクションの内容:

必要な JAR ファイルの追加

以下の操作を行って、SOAtest と Virtualize のクラスパスに必要な Jar ファイル (下の表に記載) を追加します。

  1. [Parasoft] メニューの [設定] をクリックします。
  2. [Parasoft] > [システム プロパティ] ページを開きます。
  3. [Jar の追加] ボタンをクリックし、必要な Jar ファイルを選択して追加します。

JNDI 認証

JMS システム (JNDI アクセスに認証を要求するように設定された) への接続にユーザー名とパスワードが要求される場合はいつでも、次の JNDI プロパティを設定する必要があります。

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

Apache ActiveMQ

対象Apache Active MQ
最低限必要な JarActiveMQ インストール ディレクトリ配下にあります。
- activemq-all-[version].jar
一般的なプロバイダー URL パターンtcp://hostname:61616
ファクトリ クラス

JNDI Initial Context ファクトリ クラス
- 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 にあります。

Qpid のバージョンによって Jar が異なります。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> 
For example:
connectionfactory.local = amqp://user:password@clientid/testpath?brokerlist='tcp://localhost:5672'
ファクトリ クラス

JNDI Initial Context ファクトリ クラス
- 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 は、インストールした Glass-Fish 3 からの数十の他の Jar を参照します。参照された Jar の検索、読み込みを可能にするために、 GlassFish インストール ディレクトリから gf-client.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 Initial Context ファクトリ クラス
- com.sun.enterprise.naming.SerialInitContextFactory

注意: GlassFish は、"com.sun.appserv.naming.S1ASCtxFactory" と呼ばれるもう1つの JNDI Initial Context ファクトリ クラスを持っています。このクラスはパフォーマンスで劣るため、使用すべきではありません。GlassFish 2 や GlassFish 3 の両方で利用可能なクラスの代わりに、上記の SerialInitContextFactory クラスを使用してください。

注釈GlassFish クライアントや GlassFish サーバーは、相互に DNS の逆引きを行います。サーバーがクライアントのホスト名を認識しない場合は、サーバー上の hosts ファイルにクライアントのホスト名と IP アドレスを追加することができます。クライアントがサーバーのホスト名を認識しない場合は、クライアント上の hosts ファイルにサーバーのホスト名と IP アドレスを追加することができます。 hosts ファイルは、通常 /etc/hosts (Unix) および %System-Root%\system32\drivers\etc\hosts (Windows) にあります。
詳細 http://glassfish.java.net/

IBM WebSphere Application Server (WAS)

対象WAS Default JMS プロバイダー。Parasoft は、WAS 7.0 以降で提供され、WAS 6.0.2 以降と相互運用が可能な、 IBM の JMS シンクライアントの使用を推奨しています。
最低限必要な 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 Initial Context ファクトリ クラス
- com.ibm.websphere.naming.WsnInitialContextFactory

詳細WebSphere Application Server Network Deployment, バージョン 7.0 ドキュメント

WAS 7.0 以降を持っていない場合

WAS 7 インストールを使用していない (またはアクセスできない) 場合、 WAS 6.0.2 以降でも動作する IBM Client for JMS をダウンロードし、インストールします。

  1. http://www-01.ibm.com/support/docview.wss?uid=swg24012804 から JMS Client のインストーラー Jar をダウインロードします。
  2. ダウンロード ページの手順に従って、 Sun JRE 用の JMS と JNDI の両方の Jar をインストールします。 クライアント Jar をインストールするコマンドは、以下のようになります。
    "java -jar sibc_oeminst-o0902.06.jar jms_jndi_sun C:\ibmjms"
    クライアント Jar は lib フォルダーは以下にインストールされます。
  3. JNDI プロパティ com.ibm.CORBA.ORBInit=com.ibm.ws.sib.client.ORB を追加します。
    • 簡単にするために、この JNDI プロパティは JRE lib フォルダーの jndi.properties ファイルでグローバルに設定できます。
    • この製品のスタンドアロン ビルドでは、 JRE lib フォルダーは Parasoft/Test/{ver}/plugins/com.parasoft.xtest.jdk.eclipse.core.{platform}.{arch}_{ver}/jdk/jre/lib 配下にあります。
    • この JNDI プロパティは、 WAS 7 の runtimes フォルダーから Jar を使用するときには必要ありません。

IBM WebSphere MQ (MQ Series)

対象

WebSphere MQ JMS プロバイダー

最低限必要な Jar

MQ 9 用

次の Jar が [WebSphere MQ installation directory]/java/lib 配下にあります。

  • com.ibm.mq.allclient.jar.

MQ 8 用

次の Jar が [WebSphere MQ installation directory]/java/lib 配下にあります。

  • com.ibm.mq.allclient.jar.

MQ 7.0 用

次の Jar が [WebSphere MQ installation directory]/java/lib 配下にあります。

  • 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 用

次の Jar が [WebSphere MQ installation directory]/java/lib 配下にあります。

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

以下の Jar もダウンロードする必要があります。

  • MS0B: WebSphere MQ Java classes for PCF — com.ibm.mq.pcf.jar
  • ME01: WebSphere MQ - 初期コンテキスト ファクトリ — mqcontext.jar

MQ クライアントのダウンロード

[WebSphere MQ installation directory]/java/lib の Jar は、MQ クライアントにも含まれています。MQ 6 Client は、現在では IBM から入手できません。MQ 7 Client は次からダウンロードできます: http://www-01.ibm.com/support/docview.wss?uid=swg24019253


一般的なプロバイダー URL パターン

yourhostname:1414/SYSTEM.DEF.SVRCONN

ファクトリ クラス

WebSphere MQ JNDI Initial Context ファクトリ クラス - com.ibm.mq.jms.context.WMQInitialContextFactory

SSL の構成

WebSphere JMS クライアントは初期コンテキストで適切なプロパティを設定することで SSL 接続を実現できます。 WebSphere MQ と WebSphere JMS 両方のクライアントは SSL の接続性に同じプロパティを設定します。

JNDI を伴わない JMS メッセージング

プロパティ タブで次の設定を定義します。
Name: Value
provider:  WebSphere MQ
queue.manager: [Queue Manager 名]
channel: [チャンネル名]
port: [ポート番号。デフォルトの WebSphere MQ ポート番号は 1414]
この構成で、 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 サーバーで自身を認証します。これは一般的に Virtualize を起動する前にワークステーションにログインするときに提供されたユーザー名です。

MQ サーバーがユーザー名を認識しない場合、ツールは次のエラーを返します: "javax.jms.JMSSecurityException: MQJMS2013: invalid security authentication supplied for MQQueueManager".

このエラーは、 Websphere MQ サーバー マシンに Windows ユーザーのアカウントを追加することで解決できます。このアカウントは、 1) SOAtest と Virtualizeを実行しているローカル マシン上のアカウントと同じユーザー名、および 2) IBM WebSphere MQ Administration グループ "mqm" のメンバー、である必要があります。

あるいは、 Java システム プロパティの user.name の値を変更することによって異なるユーザー名を使用します。このシステム プロパティは、 SOAtest と Virtualizeを soatest/virtualize.exe -J-Duser.name=username を起動することによって構成できます。username には使用したいユーザー名が入ります。soatest/virtualize.exe -J-Duser.name= を経由して、ユーザー名を空にした一部の構成も動作します。user.name プロパティに SYSTEM を使用することも、いくつかの構成で動作します。 

Extension Tool を使って Sun の Java API の java.lang.System.setProperty() メソッドを呼び出すことで、テスト スイートの実行中に Java システム プロパティを変更することもできます。

このエラーに関する詳細については、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

対象Boss 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 Initial Context ファクトリ クラス
- org.jnp.interfaces.NamingContextFactory

Open Message Queue (OpenMQ)

注意: OpenMQ はそれ自身で実行することも、 "Glassfish MQ" と呼ばれる Glassfish App Server の一部として実行することも可能です。Glassfish から OpenMQ を使用している場合は、 GlassFish セクションを参照してください。

対象OpenMQ Server
最低限必要な Jar

[OpenMQ install dir]/mq/lib
 - fscontext.jar 配下にあります。
 - imq.jar
 - jms.jar

一般的なプロバイダー URL パターンyourhostname
ファクトリ クラス

JNDI Initial Context ファクトリ クラス
- com.sun.jndi.fscontext.RefFSContextFactory

詳細http://mq.java.net

Oracle Advanced Queuing  (AQ)

対象Oracle Advanced Queuing (AQ)
最低限必要な Jar

Oracle Database に含まれる以下の Jar:
- server/rdbms/jlib/aqapi.jar 
- server/jdbc/lib/ojdbc6.jar

または

Oracle Weblogic Server に含まれる以下の Jar:
- 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>

注釈10g などの古いバージョンの Oracle データベースに含まれる aqapi.jar には初期コンテキスト ファクトリ クラスがない可能性があります。Oracle 11g 以降の jar を使用してください。最新の Oracle Database Express Edition (XE) は、oracle.com からダウンロードできます。
Oracle Database Express Edition 11g Release 2
詳細Interoperating with 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 パターン

シンクライアント:
iiop://yourhostname:7001

フルクライアント:
t3://yourhostname:7001

ファクトリ クラス

JNDI Initial Context ファクトリ クラス:
- 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 Initial Context ファクトリ クラス
- com.sonicsw.jndi.mfcontext.MFContextFactory

詳細SonicMQ Application Programming Guide の Appendix A (Using the Sonic JNDI SPI) を参照してください。その他の関連するセクションについても言及しています。

RabbitMQ

対象RabbitMQ
最低限必要な Jar

Maven's Central Repository からクライアント ライブラリをダウンロードしてください。

rabbitmq-jms-<version>.jar

.bindings ファイルの例#This file is used by the 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 Initial Context ファクトリ クラス
- ConnectionFactory

Solace JMS

対象Solace JMS
最低限必要な Jarcommons-lang-<version>.jar
sol-common-<version>.jar
sol-jcsmp-<version>.jar
sol-jms-<version>.jar
一般的なプロバイダー URL パターンsmf://<host>:<port>
ファクトリ クラス

JNDI Initial Context ファクトリ クラス
 - com.solacesystems.jndi.SolJNDIInitialContextFactory
デフォルト名はありません。接続ファクトリをルックアップするには特定の JNDI 名が必要です。

接続ファクトリのルックアップにアクセスするために追加の JNDI プロパティ Solace_JMS_VPN=myvpn を設定する必要があります。デフォルトの VPN 名はありません。

Sun Java System Message Queue (Sun MQ)

対象Sun MQ Server
最低限必要な Jar

[Sun MQ install dir]Sun/MessageQueue/mq/lib 配下にあります。
- fscontext.jar
- imq.jar
- jms.jar

一般的なプロバイダー URL パターンyourhostname
ファクトリ クラス

JNDI Initial Context ファクトリ クラス
- com.sun.jndi.fscontext.RefFSContextFactory

詳細Sun Java System Message Queue Administration 3.x/4.x Guide の 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 Initial Context ファクトリ クラス
- 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 Enterprise Message Service ユーザーズ ガイドの section 9: Developing an EMS Client Application> Programmer Checklist を参照してください。


Sun JMS

SOAtest と Virtualize は Sun JNDI 実装をバンドルしています。Sun JNDI 実装 は、 com.sun.jndi.fscontext.RefFSContextFactory を使用して、ローカル ハード ドライブ上のディレクトリおよびファイルに初期コンテキストとして JNDI バインディングを、およびユーザー定義のプロバイダー URL (ディレクトリ ) “C:\JNDIRoot” などを格納しています。

Sun 実装を使用しているとき、 fscontext が正常に ConnectionFactory および Queue か Topic オブジェクトをルックアップできるような .binding ファイルで “C:\JNDIRoot”ディレクトリに データ投入することが必要です。Parasoft は Virtualize インストール ディレクトリ (/examples/jms/JndiFileProviderTest.java) に .binding ファイルを作成するサンプルを保持しています。

その他の JMS プロバイダー

その他の JMS プロバイダーの場合、ご使用のシステムと通信する JMS クライアントを構成する方法についてはベンダーのガイドを参照してください。

  • No labels