Hi, tien Oh that's a plain example to illustrate it simply and clearly but in actual practice we use xml / annotation or other form of integrating.
If you use annotations in spring with `@EnableDubbo` for example you can refer the implementation of `ReferenceAnnotationBeanPostProcessor ` to see how they would be cached. And in this kind of use case a reference should not be necessary to be GC once created because it will be reused repeatedly. Can it solve your problem? best regards, Jason > On Oct 23, 2019, at 17:26, Tien Dat PHAN <[email protected]> wrote: > > Hi Jason, > > According to this: > http://dubbo.apache.org/en-us/docs/user/demos/reference-config-cache.html > > If we use ReferenceConfig.get(), the usage of it remains at our concern. > Does invoking it, every time we use the API, is sub-optimal? > And how the reference is GCed? > > Best > Tien Dat > > On 2019/10/23 09:03:06, Jason Joo <[email protected]> wrote: >> Hi, tien >> >> I just curious on why you use `ReferenceConfigCache` to get the reference? >> Why not using `@Reference` everywhere instead? >> >> best regards, >> >> Jason >> >>> On Oct 23, 2019, at 16:55, Tien Dat PHAN <[email protected]> wrote: >>> >>> Dear >>> >>> Related to the topic of this thread, I have a question: >>> When starting the consumer, we create a reference holder that is >>> initialized to hold the API reference. We use the ReferenceConfigCache to >>> keep the reference cache. >>> We only invoke the ReferenceConfigCache.get(ReferenceConfig<OurAPI>) at the >>> very beginning of the holder. >>> This seems to result in bad outcome if the >>> ReferenceConfigCache.get(ReferenceConfig<OurAPI>) is invoked when the >>> service provider is not ready (not yet exported). >>> >>> Our questions are: >>> 1. If this is a bad practice, should we invoke the >>> ReferenceConfigCache.get(ReferenceConfig<OurAPI>) every time we want to use >>> it? >>> 2. If the answer to the 1. question is YES. Then our concern is: Does >>> creating new API reference everytime we use it lead to sub-performance? And >>> how the system can GC the connection created everytime we invoke >>> ReferenceConfigCache.get(ReferenceConfig<OurAPI>)? Or we, at the consumer >>> side, have to handle the connection closeness? >>> >>> Best regards >>> Tien Dat >>> >>> On 2019/10/14 09:21:14, 郑泽超 <[email protected]> wrote: >>>> >>>> Hello, >>>> You can set check=false in your reference config >>>> >>>>> 在 2019年10月14日,下午4:32,一陣風& <[email protected]> 写道: >>>>> >>>>> Start the client first and then start the server to report an error: >>>>> >>>>> >>>>> >>>>> Failed to invoke the method getBalance in the service >>>>> com.github.autfish.dubbo.service.BalanceService. No provider available >>>>> for the service com.github.autfish.dubbo.service.BalanceService from >>>>> registry localhost:9090 on the consumer 192.168.8.249 using the dubbo >>>>> version 2.7.1. Please check if the providers have been started and >>>>> registered. >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> How should I configure in yml file >>>> >>>> >> >>
