yes it worked

On 07/12/2017 11:48, Romain Manni-Bucau wrote:
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