On 3/27/13 7:53 PM, "Murali Reddy" <murali.re...@citrix.com> wrote:

>On 28/03/13 7:42 AM, "Chip Childers" <chip.child...@sungard.com> wrote:
>
>>On Wed, Mar 27, 2013 at 04:31:05PM -0700, Kelven Yang wrote:
>>> For UCS issue, I've put a fix in.
>>> 
>>> For GSLB, a work around is to run non-OSS build, hopefully this can
>>>unlock
>>> developers temporarily on master branch
>>
>>Good work-around for now.
>>
>>Murali - This appears to be something that we *all* missed realizing
>>prior to the merge of the GSLB functionality.  Can you sort this out
>>during your day today?
>
>I was running Non-oss builds, so could not hit this issue. My apologies
>for the breaking OSS build.
>
>Kelven,
>
>I am not sure how to fix this issue. If there is no implementing class,
>why should inject fail? I was under impression it will be set to null?
>
>I have this code in one of the managers in server, but the implementing
>class for GslbServiceProvider is only present in non-oss NetScaler
>plug-in. If you can suggest how to deal with this in Spring auto wiring
>that would be useful for me to quickly fix this.
>
>@Inject
>    protected GslbServiceProvider _gslbProvider;
>

In this case, you should avoid using auto-wiring, so that it won't be
bound at loading time. Spring is designed to shout out loudly at loading
time instead of run-time if it finds any unresolvable auto-wiring in
place. It is good to expose the issue early and force developer to fix it.

This is what you may do,

1) Remove @Inject for _gslbProvider;
2) Make your code be safe at runtime to deal with the possibility that
_gslbProvider is null
3) Provide getter and setters to _gslbProvider
4) Put the wiring logic in nonossComponentContext.xml so that it is only
loaded in non-OSS build

Kelven



>

Reply via email to