1

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.

のローカル部分は、私が制御する方法がわからないある種の展開バージョン管理であると私が推測するためですqNamebpel258-156内の私のフォルダとその中WEB-INF/processesBPEL_processすべてのファイルなどですbpel258.bpel。「バージョン」番号が追加されている場所への参照が見つからないため、これを回避する方法がわかりません。

その上、ODE 用語で「アンデプロイ」が何を意味するのかはまだわかりません。プロセスフォルダーを削除するだけですか? フォルダの横にある .deploy ファイルは何ですか? なぜ空なのですか? フォルダーと .deployed の両方を削除しようと何度も試みましたが、ODE はそれらを記憶し、それらを見つけようとします。これをリセットするにはどうすればよいですか?

さらに、BPEL_process という名前のフォルダーを作成し、毎回これを上書きするために、ode フォルダー全体を Eclipse で使用していた Tomcat からスタンドアロンの Jetty に変更したと言わざるを得ません。これ以前は、ODE はバージョン番号を含む新しいフォルダーを作成するだけで、それを変更する方法がわかりませんでした。これについても助けていただければ幸いです。

これらは一度に多すぎる質問かもしれませんが、それらはすべて強く関連していると思います.

4

0 に答える 0