编程语言
首页 > 编程语言> > java – 获取weblogic服务器上部署的所有应用程序的列表

java – 获取weblogic服务器上部署的所有应用程序的列表

作者:互联网

使用以下代码,我可以连接到weblogic服务器.
现在我想获得服务器上部署的所有应用程序的列表.

命令提示符下的listapplications()列出了应用程序,但是当我执行interpreter.exec(listapplications())时,我无法将输出存储到变量中,因为interpreter.exec返回一个void.关于如何将应用程序列表存储在集合/数组中的任何想法?

任何其他替代或领导也会有所帮助.

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')");
    }
}

解决方法:

我解决了我通过使用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);
}

标签:python,java,weblogic,weblogic-10-x,wlst
来源: https://codeday.me/bug/20190629/1329256.html