在kotlin android中使用flux结构实现Rx Java的问题

我正在kotlin中实现flux架构,并试图使用RX java中我做了一个调度器,用于调度事件和听事件

Dispatcher.kt

class Dispatcher @Inject constructor() { private val mBus:Subject<Any> init{ mBus = PublishSubject.create() } fun <A : IEvent> dispatchUserEvent(@NonNull e:A) { mBus.onNext(e) } fun <E : IEvent> observeUserEvents(clazz:Class<E>):Observable<E> { return mBus.ofType(clazz) } } 

IEvent是一个通用接口的接口,我正在创建一个扩展IEvent的用户事件

IPnrUserEvent.kt

 interface IPnrUserEvent :IEvent { fun getPnrNo():String } 

PnrUserEvent.kt

 class PnrUserEvent(var pnr:String) : IPnrUserEvent { override fun getPnrNo(): String { return pnr } } 

现在我正在派遣PnrActionCreator.kt的活动

 class PnrUserActionCreator @Inject public constructor (val dispatcher: Dispatcher) : IPnrActionCreator { override fun createPnrAction(pnrNo: String) { dispatcher.dispatchUserEvent(PnrUserEvent(pnrNo)) } } 

并听取PnrStore中的PnrUserEvent

 class PnrStore @Inject constructor (val pnrStoreActionCreator: PnrStoreActionCreator, val dispatcher: Dispatcher) { var url = "http://api.erail.in/pnr?key=API_KEY&pnr=" init { setObservers() } /** Setting the observer for listening to PnrUserEvent **/ private fun setObservers() { dispatcher.observeUserEvents(PnrUserEvent::class.java).subscribe (object : EventObservable<PnrUserEvent>() { override fun onNext(event: PnrUserEvent) { url + event.getPnrNo() } }) } 

我的代码是调度事件,但没有观察Pnrstore中的事件。

想要解决如何从一个类派遣一个事件并使用RXJava在另一个类中侦听