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 はそれらを記憶し、それらを見つけようとします。これをリセットするにはどうすればよいですか?
さらに、BPEL_process という名前のフォルダーを作成し、毎回これを上書きするために、ode フォルダー全体を Eclipse で使用していた Tomcat からスタンドアロンの Jetty に変更したと言わざるを得ません。これ以前は、ODE はバージョン番号を含む新しいフォルダーを作成するだけで、それを変更する方法がわかりませんでした。これについても助けていただければ幸いです。
これらは一度に多すぎる質問かもしれませんが、それらはすべて強く関連していると思います.