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