1

我正在使用 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 只会使用版本号创建一个新文件夹,而我不知道如何更改它。在这方面的帮助也将不胜感激。

我知道这些问题可能同时包含太多问题,但我相信它们都密切相关。

4

0 回答 0