4

次のコードを使用して、weblogicサーバーに接続できます。次に、サーバーにデプロイされているすべてのアプリケーションのリストを取得したいと思います。

コマンドプロンプトのlistapplications()はアプリケーションを一覧表示しますが、interpreter.execがvoidを返すため、interpreter.exec(listapplications())を実行すると出力を変数に格納できません。アプリケーションリストをコレクション/配列に保存する方法についてのアイデアはありますか?

他の選択肢やリードも役立ちます。

import org.python.util.InteractiveInterpreter;
import weblogic.management.scripting.utils.WLSTInterpreter;

public class SampleWLST {

    public static void main(String[] args) {
        SampleWLST wlstObject = new SampleWLST();
        wlstObject.connect();
    }

    public void connect() {
        InteractiveInterpreter interpreter = new WLSTInterpreter();
        interpreter.exec("connect('username', 'password', 't3://localhost:8001')");
    }
}
4

2 に答える 2

3

私はそれを解決しました。InteractiveInterpreterのsetOutメソッドを使用してストリームにリダイレクトすることでwlstの出力をキャプチャし、Javaでストリームを読み取るスキャナーを作成しました。

これが他の誰かを助けるかもしれないことを願っています。

ArrayList<String> appList = new ArrayList<String>();
Writer out = new StringWriter();
interpreter.setOut(out);
interpreter.exec("print listApplications()");   

StringBuffer results = new StringBuffer();
results.append(out.toString());

Scanner scanner = new Scanner(results.toString());
while(scanner.hasNextLine()){
    String line = scanner.nextLine();
    line = line.trim();
    if(line.equals("None"))
        continue;
    appList.add(line);
}
于 2013-01-25T10:42:00.853 に答える
0

デプロイされているすべてのデプロイされたアーティカットを取得するには、次を使用できます。

private void listAllDeployments(WebLogicDeploymentManager deployManager,
                                  Target targets[]) throws TargetException {
  if (deployManager != null && targets.length > 0) {
    print("Get Domain:" + deployManager.getDomain(), 0);
    TargetModuleID targetModuleID[] = deployManager.getAvailableModules(ModuleType.WAR, 
      targets);
    } else {
      System.out.print(
        "WebLogicDeploymentManager is either empty or targets are empty.Please check",
        1);
    }

  }

デプロイヤマネージャーを作成するには、次を使用できます。

SessionHelper.getRemoteDeploymentManager(protocol,hostName, portString, adminUser, adminPassword);

必要な依存関係:

compile(group:'com.oracle.weblogic'、name:'wlfullclient'、version: '10.3.6.0'、transitive:false)

于 2019-11-05T12:15:14.200 に答える