I have a customer management system used by businesses to store customer data and some other info. I want my system to send an email to the user (business owner) in several cases like the following:
If one week after the signup the user (business owner) did not enter customers to the system - send him an email reminding him to add customers. Make this a weekly/monthly reminder.
If the user reaches a milestone (e.g. 100 customers in the system) send him a congratulation email, but don't do it if he reaches the same milestone again (e.g. by deletion and addition).
Edit - 3. Send a "happy holiday" email a week before a holiday (giving this example mainly since it's the simplest one that illustrates dependence on a property of an event, not the user).
I need a system which would allow easy addition of rules based on previous/future events (future events have a known date) and user properties. I read a little about rules engines and events processing but still not really sure what class my problem belongs to.
Would be great to hear about specific recommendations for rules\events processing modules I could use. I'm thinking either Drools or Esper but both seem pretty complex and I want to be sure it's the right fit before investing time in adding them to my system.
I'm using Java and Hibernate if it matters.