Java 谁持有ReactiveX中的链接?

Java 谁持有ReactiveX中的链接?,java,rx-java,reactivex,Java,Rx Java,Reactivex,在Java的observable中维护一个观察者列表。因此,如果删除了可观察对象,则该观察对象将接受垃圾收集 因此,一个可观测的物体保持着联系 我的印象是,对于ReactiveX来说,情况并非如此。虽然observable有一个subscribe方法,但它返回一个Subscription对象。这个物体有链接吗 如果我将此对象添加到observer,这是否是唯一的方法,使observer保持链接?或者观察者仍然持有链接吗?我认为被观察者仍然保持着与观察者的连接。查看下面的代码 private Ob

在Java的observable中维护一个观察者列表。因此,如果删除了可观察对象,则该观察对象将接受垃圾收集

因此,一个可观测的物体保持着联系

我的印象是,对于ReactiveX来说,情况并非如此。虽然observable有一个subscribe方法,但它返回一个
Subscription
对象。这个物体有链接吗


如果我将此对象添加到observer,这是否是唯一的方法,使observer保持链接?或者观察者仍然持有链接吗?

我认为被观察者仍然保持着与观察者的连接。查看下面的代码

private Observable<CurrencyRatesDTO> getCurrencyRatesObservable(Set<String> currencies) {
        return Observable.<CurrencyRatesDTO> create(sub -> {
            CurrencyRatesDTO currencyRatesDTO = restTemplate.getForEntity(
                    CURRENCY_SERVICE_API + RestUtil.QUERY_PARAM_START_SYMBOL
                            + RestUtil.getQueryParamStringForMultiValuedAttribute(SYMBOLS, currencies),
                    CurrencyRatesDTO.class).getBody();
            sub.onNext(currencyRatesDTO);
            sub.onCompleted();
        }).doOnNext(c -> log.debug("Currency rates were retrieved successfully."))
                .doOnError(e -> log.error("An ERROR occurred while retrieving the currency rates.", e));
}
私有可观察GetCurrencyRatesBServable(设置货币){
返回可观察。创建(子->{
CurrencyRatesTo CurrencyRatesTo=restTemplate.getForEntity(
货币\服务\ API+RestUtil.QUERY\参数\开始\符号
+RestUtil.getQueryParamStringForMultiValuedAttribute(符号、货币),
CurrencyRatesDTO.class).getBody();
sub.onNext(货币汇率至);
sub.onCompleted();
}).doOnNext(c->log.debug(“成功检索到货币汇率”)
.doon错误(e->log.error(“检索汇率时出错。”,e));
}
我们异步调用一些rest服务。一旦我们得到结果,我们使用onNext方法通知观察者,并在向观察者发出完成信号之前发出项目。我写了一些博客文章[1][2][3],您可能会发现它们在RxJava领域很有用。下面是我博客文章的一个小摘录。根据这一点,很明显Observable包含了对Observable的引用

RxJava提供了可观察对象和观察者。可观测数据可以发出值。观察者,通过订阅来观察观察者。当一个可观察对象发出一个值时,当该可观察对象说发生了错误时,会通知观察者。当可观测对象发送信息,表示它不再有任何值可发射时,也会通知它们。相应的函数是Observer接口的onNext、onError和onCompleted()。订阅实例表示观察者和可观察者之间的连接。如果在此实例上调用unsubscribe(),则它将删除连接

希望这有帮助。快乐编码

[1] [2] [3]