t3プロトコルでWebLogicサーバ上のサービスを実行したりするクライアントを
作成するケースは、ありそうでなかった。
バッチのために、わざわざ稼働中のWebサーバを使うという発想がないだろうし、
稼動中というリスクもあるからだろう。
コンテキストlookup でリモートインスタンスを実行するため、
コンテキスト生成は、以下のようなメソッドを使い回すことに。
private InitialContext getInitialContext(String url) throws NamingException{
Hashtable<String,String> h = new Hashtable<String,String>();
h.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
h.put(Context.PROVIDER_URL,url);
return new InitialContext(h);
}
必要なインポート
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
実行。
InitialContext ic = getInitialContext("t3://xxx.xxxx.xxx"+":"+port);
Sample obj = (Sample)ic.lookup("SampleService");