Skip to content
Cai E edited this page Aug 25, 2016 · 5 revisions

English | 中文

Koper is a MQ-based and event-driven distributed framework.

What does Koper look like?

1. Listener Model

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);
   }
   
}

2. Data Event Model

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);
   }
}

Home

  • [Quick Start](Quick Start)
  • [User Guide](User Guide)
    • [Async Scenarios and examples](Async Scenarios and examples)
  • Performance
  • [Developer Guide](Developer Guide)
  • QA

主页

Clone this wiki locally