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
>>>> 
>>>> 
>> 
>> 

Reply via email to