package org.springframework.issues;
import javax.transaction.Transactional;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.context.ApplicationEventPublisherAware;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
*
* @author Alessandro Polverini
*/
@RestController
@Transactional
public class Controller2 implements ApplicationEventPublisherAware {
private static final Logger logger = LoggerFactory.getLogger(Controller2.class);
private ApplicationEventPublisher publisher;
public Controller2() {
logger.info("Controller2 init");
}
@Override
public void setApplicationEventPublisher(ApplicationEventPublisher publisher) {
logger.info("ApplicationContextPublisher publisher: " + publisher);
this.publisher = publisher;
}
@RequestMapping("/x1")
public Object publishClearCacheEvent() {
publisher.publishEvent(new MyEvent(this));
logger.info("MyEvent published");
return "Event published";
}
}