程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

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

发布于2019-12-10 19:30     阅读(831)     评论(0)     点赞(4)     收藏(2)


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

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

任何其他替代方案或销售线索也将有所帮助。

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


所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/172476/6b485da4a52b78142b6c/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

4 0
收藏该文
已收藏

评论内容:(最多支持255个字符)