No Direct Catch to Throw
Mencegah pesan yang diterima langsung diteruskan sebagai pesan baru tanpa ada pekerjaan di antaranya.
| Atribut | Nilai |
|---|---|
| Rule ID | no-direct-catch-to-throw |
| Severity | Error — wajib diperbaiki agar BPMN lolos linter |
| Elemen yang dicek | Intermediate Catch Event bertipe Message |
| Sumber | Plugin linter AlurKerja (bpmnlint-plugin-alurkerja) |
Rule No Direct Catch to Throw memeriksa Message Intermediate Catch Event yang langsung tersambung ke Message Intermediate Throw Event atau Message End Event, tanpa satu pun aktivitas di antaranya.
Pesan di Studio
Temuan rule ini tampil di panel Problems BPMN Editor dengan pesan berikut:
Message catch event is directly connected to a message send event — there should be at least one task/subprocess between receiving and sending a message
Kenapa ini masalah
Menerima pesan lalu langsung mengirim pesan lain tanpa memprosesnya hampir selalu berarti ada langkah kerja yang belum digambar — misalnya memeriksa isi pesan, menyimpan data, atau meminta persetujuan. Diagram jadi tidak menjelaskan apa yang sebenarnya dilakukan.
Cara memperbaiki
- Sisipkan minimal satu aktivitas (misalnya User Task atau Service Task) di antara event penerima dan event pengirim pesan.
- Beri nama aktivitas tersebut sesuai pekerjaan yang dilakukan terhadap pesan, misalnya Verifikasi Dokumen Pengajuan.
Rule terkait
- Message Catch Has Incoming Message Flow (
message-catch-has-incoming-message-flow) - Message Throw Has Outgoing Message Flow (
message-throw-has-outgoing-message-flow) - No Generic Task (
no-generic-task)
