scope a wrapper?

Romain Manni-Bucau
@rmannibucau |  Blog | Old Blog | Github | LinkedIn


2017-12-07 11:21 GMT+01:00 Matthew Broadhead <matthew.broadh...@nbmlaw.co.uk>:
> I couldn't scope it because otherwise couldn't return null
>
>
> On 07/12/2017 09:55, Romain Manni-Bucau wrote:
>>
>> if you scope this producer you would have a lazy instance and in the
>> context of the timer you wouldnt call it so you wouldnt have this NPE
>>
>> Romain Manni-Bucau
>> @rmannibucau |  Blog | Old Blog | Github | LinkedIn
>>
>>
>> 2017-12-07 9:49 GMT+01:00 Matthew Broadhead
>> <matthew.broadh...@nbmlaw.co.uk>:
>>>
>>> i have this method to @Produces KeycloakSecurityContext
>>> @Produces
>>>      @Default
>>>      @Dependent
>>>      public KeycloakSecurityContext keycloakSecurityContext() {
>>>          try {
>>>              if (httpServletRequest instanceof KeycloakPrincipal) {
>>>                  KeycloakPrincipal<KeycloakSecurityContext>
>>> keycloakPrincipal
>>> = (KeycloakPrincipal<KeycloakSecurityContext>) httpServletRequest
>>>                          .getUserPrincipal();
>>>                  return keycloakPrincipal.getKeycloakSecurityContext();
>>>              }
>>>          } catch (NullPointerException e) {
>>>              // e.printStackTrace();
>>>          }
>>>          return null;
>>>      }
>>> i added catch the NullPointerException because httpServletRequest causes
>>> an
>>> NPE if the KeycloakSecurityContext is injected into an @ApplicationScoped
>>> where it has been run from a timer and there is no servlet request.
>>> there
>>> is no way to null check the httpServletRequest as it blows up behind the
>>> scenes
>>> is this the right way to do it or is there another way to detect there is
>>> no
>>> request?
>
>

Reply via email to