ClassLoader myBundleClassloader =
Thread.currentThread().getContextClassLoader();
Class<SomeClassInMyBundle> classFromBundle =
SomeClassInMyBundle.class;
ClassLoader classloaderWithSomeClassFromBundle = classFromBundle.getClassLoader();
Thread.currentThread().setContextClassLoader(
classloaderWithSomeClassFromBundle);
final String applicationName = "myapp";
LoginContext lc;
try {
lc = new LoginContext(applicationName, subject,
jaasCallbackHandler, configuration);
} catch (LoginException e) {
LOGGER.error("LoginContext#<init> failed because LoginException,
username="+ suppliedUsername, e);
return false;
} finally {
Thread.currentThread().setContextClassLoader(myBundleClassloader);
}
try {
lc.login();
LOGGER.info("login success for username=" + suppliedUsername);
return true;
} catch (LoginException e) {
LOGGER.error("LoginContext#login failed because LoginException,
username="+ suppliedUsername, e);
return false;
}