我正在使用 Apache ODE 部署 API 来部署应用程序。到目前为止,一切都很好。
当我尝试取消部署它时,我使用以下代码:
private void undeployProcessInODE() {
DeploymentService service = new DeploymentServiceLocator();
try {
DeploymentServicePortType port = service
.getDeploymentServiceSOAP11port_http();
String[] deployedPackages = port.listDeployedPackages();
String deployedPackage;
QName[] qNames;
QName qName;
for (int i = 0; i < deployedPackages.length; i++) {
deployedPackage = deployedPackages[i];
qNames = port.listProcesses(deployedPackage);
for (int j = 0; j < qNames.length; j++) {
qName = qNames[i];
port.undeploy(qName);
}
}
} catch (IOException e) {
e.printStackTrace();
} catch (ServiceException e) {
e.printStackTrace();
}
}
它抛出
Invocation of operation undeploy failed: org.apache.ode.axis2.OdeFault: Invalid bundle name, only non empty alpha-numerics and _ strings are allowed.
qName
因为我猜是bpel258-156
我不知道如何控制的某种部署版本控制的本地部分。我在里面的文件夹和里面的WEB-INF/processes
所有BPEL_process
文件bpel258.bpel
等等。我找不到任何添加“版本”号的引用,所以我不知道如何避免这种情况。
此外,我仍然不确定 ODE 术语中的“取消部署”是什么意思。它只是删除我的进程文件夹吗?我的文件夹旁边的 .deploy 文件是什么,为什么它是空的?我曾多次尝试删除文件夹和 .deployed,但 ODE 会记住它们并尝试找到它们。我该如何重置?
另外,我必须说我最终将整个 ode 文件夹从我通过 Eclipse 使用的 Tomcat 更改为独立的 Jetty,以便拥有名为 BPEL_process 的文件夹并每次都覆盖它。在此之前,ODE 只会使用版本号创建一个新文件夹,而我不知道如何更改它。在这方面的帮助也将不胜感激。
我知道这些问题可能同时包含太多问题,但我相信它们都密切相关。