1
동일한 인수를 허용하더라도 리스너가 다르게 동작하더라도 eventbus.But에 이벤트를 게시 할 때 동일한 인수를 사용할 수있는 두 개의 리스너가 있습니다.google guava eventbus에서 동일한 인수를 사용하여 여러 리스너를 처리하는 방법
public class EventListener1 {
@Subscribe
public void executeJob(jobVO jobVO) {
//logic goes here
}
}
public class EventListener2 {
@Subscribe
public void cancelJob(jobVO jobVO) {
//logic goes here but different
}
}
EventBus eventBus = new EventBus();
eventBus.register(new EventListener1());
eventBus.register(new EventListener2());
사용자가 실행 버튼을 눌러 취소 작업을 현명하게 EventListener1
과 같이 실행하려고합니다. 작업 작업
JobVO j=new JobVO();
j.setAction("cancelJob");
etc...
eventBus.post(j);
내 질문을 취소에 대한
JobVO j=new JobVO();
j.setAction("executeJob");
etc...
eventBus.post(j);
을 실행하기위한
어떻게 eventbus에 이벤트를 게시 할 때 내가 특정 수신기를 트리거 할 수 있습니다 또는 두 청취자를 호출하는 것입니다?
당신은 일부 특정 서브 클래스를 사용할 수 없습니다 '등? –
@RC. JobVO를 클라이언트 서버 통신으로 사용할 수 없는가? 웹 계층에서 사용자 입력에서 jobVO를 생성하고 server.i로 전달하면 하위 클래스를 사용하는 것이 쉽다는 것을 알고 있습니다 .i는 단지 다른 방법 대신 하위 클래스를 사용합니다. 감사합니다. – gihan
하나의 이벤트 리스너와 스위치가 작동합니다. –