先说一下业务需求,当有新用户注册或用户信息变动时,发送新增或更新的消息到指定队列。
直接在业务代码里硬编码虽然可以实现此功能,但是本着追求完美的原则,我想有一个更优雅的处理方案。
于是,我想到了用AOP。
我写了一个自定义的注解:MessagePoint,
切面的切入点是:@Pointcut(value = "@annotation(com.hello.soa.event.MessagePoint)")
如果在controller的入口方法上写上注解MessagePoint是可以实现消息发布的,
但是controller层没有我想发布的数据,
所以我想通过在service层写注解MessagePoint来发布。
问题是,在spring里方法调用行为不被AOP机制控制。
如果不通过execution来配置切入点,怎么通过@annotation的切入点来监听任意方法上的
MessagePoint切点呢??