Hi,
This process is executed by scheduler periodically, e.g. daily:
Select Customer.ID Customer where Today-Customer.ActivationDay = 10 and Customer.Status <> “No Mail” -> send email A
Select Customer.ID Customer where Today-Customer.ActivationDay = 20 and Customer.Status <> “No Mail” -> send email B
Select Customer.ID Customer where Today-Customer.ActivationDay = 30 and Customer.Status <> “No Mail” -> send email C
Select Customer.ID Customer where Today-Customer.ActivationDay = 45 and Customer.Status <> “No Mail” -> send email D
Select Customer.ID Customer where Today-Customer.ActivationDay = 60 and Customer.Status <> “No Mail” -> update Customer set Customer .status=“No Mail” where Customer.ID=?
This process is triggered by “Unsubscribe” event:
Select * from Customer where Customer.ID = ? -> update customer set status=“No Mail” where Customer.ID=?
In my opinion this use case fits perfectly for the Drools implementation (event/rule driven), but has nothing to do with jBPM. Maybe there is something not mentioned above that can be implemented in jBPM, but it is always easy to do implementing a rule in certain way.
Thanks,
Vladimir