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?