-
Notifications
You must be signed in to change notification settings - Fork 17
Home
Cai E edited this page Aug 25, 2016
·
5 revisions
English | 中文
Koper is a MQ-based and event-driven distributed framework.
Member signup example. When a member signups, a message is send to MQ.
messageSender.send("koper.memberSignup", "Signed up successfully! " + member.getPhoneNo());
A consumer subscribes the topic and handle the message.
@Component
public class MemberSignupListener extends AbstractMessageListener {
@Autowired
private SmsService smsService;
@Listen(topic = "koper.memberSignup")
public void onMessage(String msg) {
smsService.sendSms(msg);
}
}
Order example.
Data Event machanism can intercept method invocation of DAO object and send it as data event.
orderDao.insertOrder( order);
orderDao.updateOrder( order);
DataListener responds to the event.
@Component
@DataListener(dataObject = "koper.demo.dataevent.dao.impl.OrderDaoImpl")
public class OrderListener {
// data event: onInsertOrder
public void onInsertOrder(Order order) {
System.out.println("orderNo : " + order.getOrderNo());
System.out.println("create time : " + order.getCreatedTime());
// do some other operations
}
//data event: onUpdateOrder
public void onUpdateOrder(Order order) {
System.out.println("orderNo : " + order.getOrderNo());
// do some other operations such as cache refresh
}
//data event: exception on updateOrder
public void onUpdateOrder_X(Order order, DataEvent event) {
String ex = event.getException();
System.out.println("onUpdateOrder exception :" +ex);
}
}