Springマイクロ サービス オーケストレーション用に提供されているサンプルをGITHUBからダウンロードしました
説明に記載されている詳細どおりに機能しますが、現在、独自のワークフローを構築しようとしており、あるアクティビティから他のアクティビティへの呼び出しフロー (コードが実行される) をマップすることができません。
bpnmガイドでは、最初のアクティビティ名がRetrieve Shopping Cart、2番目のアクティビティ名がValidate Addressとして表示されますが、以下のコードから残りの呼び出しでワークフローを開始すると、
public class ShoppingCartRestController {
@Autowired
private ProcessEngine camunda;
@RequestMapping(value = "/{scId}/submit", method = RequestMethod.POST)
public ResponseEntity<?> placeOrderPOST(@PathVariable("scId") String scId) {
ProcessContext context = new ProcessContext();
submitShoppingCart(scId, context);
if (context.getError() != null) {
return new ResponseEntity<>(context.getError(), HttpStatus.FORBIDDEN);
}
return new ResponseEntity<>(context.getResponse(), HttpStatus.OK);
}
private ProcessInstance submitShoppingCart(String scId, ProcessContext context) {
return camunda.getRuntimeService().startProcessInstanceByKey(//
"submitShoppingCart", //
Variables //
.putValue(ProcessConstants.VAR_SC_ID, scId).putValue(ProcessConstants.VAR_CTX, context));
}
}
上記から、アドレスを取得するように委任する方法を取得できず、次にアドレスを検証するように委任するなどしてフローを終了しますか?
そして、プロセスが submitShoppingCart.bpmn からどのようにリンクされているか (このクラスと実際のクラスの名前が一致しませんか?