| Oracle® Fusion Middleware Oracle WebLogic Serverスタンドアロン・クライアントのプログラミング 11g リリース1(10.3.3) B61622-01 |
|
![]() 前 |
![]() 次 |
以下の節では、WebLogicフル・クライアントの開発について説明します。
WebLogic Server 10.0以降のリリースでは、クライアント・アプリケーションはweblogic.jarのかわりにwlfullclient.jarファイルを使用する必要があります。WebLogicフル・クライアントは、Oracle独自のT3プロトコルを使用してWebLogic Serverと通信するJava RMIクライアントであり、分散コンピューティングのJava-to-Javaモデルを使用します。WebLogic T3通信の詳細は、『Oracle WebLogic Server RMIのプログラミング』のWebLogic RMIでのT3プロトコルの使用方法に関する項を参照してください。
|
注意: WebLogicフル・クライアントは、各種クライアントの中で最大サイズのJARファイルを必要としますが、最も多くの機能を備え、IIOPクライアントよりもスケーラビリティに優れています。T3プロトコルのサポートを提供するJARがIIOPサポートも提供します。 |
WebLogicフル・クライアントの特徴は以下のとおりです。
クラス・パスにwlfullclient.jarが必要となります。
初期コンテキストでは、URLはt3://ip address:portの形式で使用します。
IIOPクライアントよりも高速でスケーラビリティが高い。
ほとんどのWebLogic Server固有の機能をサポートします。
WebLogic Serverクラスタリングをサポートします。
ほとんどのJavaEE機能をサポートします。
WebLogic JMS、JMS SAFクライアント、およびJMS Cクライアントをサポートします。
|
注意: weblogic.jarで利用できた機能がwlfullclient.jarでは利用できない場合があります。たとえば、wlfullclient.jarではWebサービスはサポートされません。Webサービスにはwseeclient.jarが必要になります。また、wlfullclient.jarでは、ejbcなどの開発用に必要なオペレーションやデプロイメントなどの管理オペレーションもサポートされません。これらのオペレーションには、依然としてweblogic.jarの使用が必要がです。 |
基本的なWebLogicフル・クライアントを作成する手順は次のとおりです。
JarBuilderツールを使用して、クライアント・アプリケーションのwlfullclient.jarファイルを生成します。「WebLogic JarBuilderツールの使用」を参照してください。
リモート・オブジェクトへの参照を取得します。
T3 URLを使用してサービスをホストするサーバーの初期コンテキストを取得します。
初期コンテキストを使用してルックアップを実行することで、サービス・オブジェクトのインスタンスを取得します。このインスタンスは、ローカル・オブジェクト参照と同じように使用できます。
リモート・オブジェクト・メソッドを呼び出します。
例4-1に、簡単なWebLogicフル・クライアントのサンプル・コードを示します。
例4-1 簡単なWebLogicフルhelloクライアント
package examples.rmi.hello;
import java.io.PrintStream;
import weblogic.utils.Debug;
import javax.naming.*;
import java.util.Hashtable;
/**
* This client uses the remote HelloServer methods.
*
* @author Copyright (c) Oracle. All Rights Reserved.
*/
public class HelloClient {
private final static boolean debug = true;
/**
* Defines the JNDI context factory.
*/
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);
}
}
管理モードでサーバー・インスタンスと通信するには、クライアントで以下のフラグを設定して通信チャネルを構成する必要があります。
-Dweblogic.AdministrationProtocol=t3