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

使用以下代码,我可以连接到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);
}

WebLogic:无法在EJB3中获得用户角色 - java

在我的EJB 3中,我尝试测试主体的角色,但是它总是返回false。在我的WebLogic 11g控制台中,我在“ MyDomain”->“安全领域”->“ myrealm”->“用户和组”下定义了3个用户(user1,user2和user3)和2个组(role1和role2);角色1具有用户1和用户3,角色2具有用户2和用户3。我的EJB…

Java:找到特定字符并获取子字符串 - java

我有一个字符串4.9.14_05_29_16_21,我只需要获取4.9。数字各不相同,所以我不能简单地获得此char数组的前三个元素。我必须找到最正确的.并将其子字符串化直到那里。我来自Python,因此我将展示Python的实现方法。def foobar(some_string): location = some_string.rfind('.&…

Java:正则表达式模式匹配器是否有大小限制? - java

我的模式类似于OR:“word1 | word2 | word3”我大约有800个字。可能有问题吗? 参考方案 您仅受记忆和理智的限制。 :)

Java:线程池如何将线程映射到可运行对象 - java

试图绕过Java并发问题,并且很难理解线程池,线程以及它们正在执行的可运行“任务”之间的关系。如果我创建一个有10个线程的线程池,那么我是否必须将相同的任务传递给池中的每个线程,或者池化的线程实际上只是与任务无关的“工人无人机”可用于执行任何任务?无论哪种方式,Executor / ExecutorService如何将正确的任务分配给正确的线程? 参考方案 …

JAVA:字节码和二进制有什么区别? - java

java字节代码(已编译的语言,也称为目标代码)与机器代码(当前计算机的本机代码)之间有什么区别?我读过一些书,他们将字节码称为二进制指令,但我不知道为什么。 参考方案 字节码是独立于平台的,在Windows中运行的编译器编译的字节码仍将在linux / unix / mac中运行。机器代码是特定于平台的,如果在Windows x86中编译,则它将仅在Win…