我已经构建了一个小型独立应用程序,它将输出WSDL文件中指定的所有操作。为此,我正在使用SoapUI v5.1.3库并在Java 8上运行应用程序。
我观察到的是应用程序永远不会退出,java.exe进程继续在后台运行。我将程序剥离为准系统,发现WsdlProject类的实例化似乎是罪魁祸首。如果我删除对象的构造,程序将按预期退出。
public class WsdlUtilities {
public static void main(String[] argvs) {
WsdlUtilities utils = new WsdlUtilities();
utils.printOperations();
}
public void printOperations() {
WsdlProject project = null;
try {
project = new WsdlProject();
}
catch (Exception e) {
e.printStackTrace();
}
finally {
if (project != null) {
project.release();
}
}
}
}
正如您所知,我试图在WsdlProject对象上调用release方法,希望释放所有资源。这也行不通。
在完成WsdlProject对象后,我需要在方法调用方面遗漏一些东西吗?
JavaDocs没有提供太多详细信息,我也没有在SoapUI页面上看到任何关闭或发布信息(https://www.soapui.org/developers-corner/integrating-with-soapui.html #_ga = 2.102243457.1272842168.1551742509-1552392744.1551742509)。
发布于 2019-03-05 09:53:34
试试这段代码:
public class WsdlUtilities {
public static void main(String[] argvs) {
printOperations();
}
private static void printOperations() {
WsdlProject project = null;
try {
project = new WsdlProject();
}
catch (Exception e) {
e.printStackTrace();
}
finally {
if (project != null) {
project.release();
}
}
}
在您的应用程序主中,您正在实例化一个类,这就是为什么您有一个在后台运行的进程。不需要这样做,只需调用要执行的方法即可。
https://stackoverflow.com/questions/-100006423
复制相似问题