如何使用ODE Deployment API取消部署进程?

时间:2013-05-23 11:33:09

标签: bpel apache-ode undeploy

我正在使用Apache ODE Deployment 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只会创建一个带有版本号的新文件夹,我不知道如何更改它。对此的帮助也将受到赞赏。

我知道这些问题一下子可能太多,但我相信它们都是密切相关的。

0 个答案:

没有答案