![]() ![]() ![]() ![]() |
T3 クライアントは、BEA 独自の T3 プロトコルを使用して WebLogic サーバ インスタンスと通信する RMI クライアントです。
t3://
ip address:
port です。 weblogic.jar
が必要となる。
基本的な T3 クライアントを作成する手順は次のとおりです。
コード リスト 3-1 に、簡単な T3 クライアントのサンプル コードを示します。
package examples.rmi.hello;
import java.io.PrintStream;
import weblogic.utils.Debug;
import javax.naming.*;
import java.util.Hashtable;
/**
* このクライアントでは、リモート HelloServer メソッドを使用する。
*
* @author Copyright (c) 1999-2004 by BEA Systems, Inc. All Rights Reserved.
*/
public class HelloClient {
private final static boolean debug = true;
/**
* JNDI コンテキスト ファクトリを定義する。
*/
public final static String JNDI_FACTORY="weblogic.jndi.WLInitialContextFactory";
int port;
String host;
private static void usage() {
System.err.println("Usage: java examples.rmi.hello.HelloClient " +
"<hostname> <port number>");
System.exit(-1);
}
public HelloClient() {}
public static void main(String[] argv) throws Exception {
if (argv.length < 2) {
usage();
}
String host = argv[0];
int port = 0;
try {
port = Integer.parseInt(argv[1]);
}
catch (NumberFormatException nfe) {
usage();
}
try {InitialContext ic = getInitialContext("t3://" + host + ":" + port);
Hello obj =
}
(Hello) ic.lookup("HelloServer");
System.out.println("Successfully connected to HelloServer on " +
host + " at port " +
port + ": " + obj.sayHello() );
catch (Throwable t) {
t.printStackTrace();
System.exit(-1);
}
}
private static InitialContext getInitialContext(String url)
throws NamingException
{
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, JNDI_FACTORY);
env.put(Context.PROVIDER_URL, url);
return new InitialContext(env);
}
}
WebLogic Server の RMI 通信では、WebLogic Server と他の Java プログラム (クライアントおよび他の WebLogic Server インスタンスを含む) との間のデータを、T3 プロトコルを使用して転送します。サーバ インスタンスは、接続された個々の Java 仮想マシン (JVM) を追跡して、JVM に対するすべてのトラフィックを実行できる単一の T3 接続を作成します。Administration Console オンライン ヘルプの「T3 プロトコルのコンフィグレーション」を参照してください。
たとえば、Java クライアントが WebLogic Server 上のエンタープライズ Bean および JDBC 接続プールにアクセスすると、1 つのネットワーク接続が WebLogic Server の JVM とクライアントの JVM との間に確立されます。T3 プロトコルは 1 つの接続上のパケットを見えない形で多重化するため、EJB および JDBC のサービスでは、専用のネットワーク接続を単独で使用しているかのように記述することができます。
有効な T3 接続を備える任意の 2 つの Java プログラム (2 つのサーバ インスタンス、またはサーバ インスタンスと Java クライアントなど) では、定期的なポイントツーポイントの「ハートビート」を使って、継続的な可用性の通知と判断を行います。各エンド ポイントは、定期的にピアへのハートビートを発行し、また同様に、ピアから継続的にハートビートが受信されていることに基づき、ピアがまだ使用可能であることを判断します。
管理モードでサーバ インスタンスと通信するには、クライアントで以下のフラグを設定して通信チャネルをコンフィグレーションする必要があります。
-Dweblogic.AdministrationProtocol=t3
![]() ![]() ![]() |