Ensure KeycloakSessionFactory.close is called before shutdown of auth-server-undertow
This commit is contained in:
parent
3d5055d920
commit
f0b168c18f
1 changed files with 11 additions and 4 deletions
|
@ -36,6 +36,7 @@ import org.jboss.resteasy.spi.ResteasyDeployment;
|
||||||
import org.jboss.shrinkwrap.api.Archive;
|
import org.jboss.shrinkwrap.api.Archive;
|
||||||
import org.jboss.shrinkwrap.descriptor.api.Descriptor;
|
import org.jboss.shrinkwrap.descriptor.api.Descriptor;
|
||||||
import org.jboss.shrinkwrap.undertow.api.UndertowWebArchive;
|
import org.jboss.shrinkwrap.undertow.api.UndertowWebArchive;
|
||||||
|
import org.keycloak.models.KeycloakSessionFactory;
|
||||||
import org.keycloak.services.filters.KeycloakSessionServletFilter;
|
import org.keycloak.services.filters.KeycloakSessionServletFilter;
|
||||||
import org.keycloak.services.resources.KeycloakApplication;
|
import org.keycloak.services.resources.KeycloakApplication;
|
||||||
|
|
||||||
|
@ -49,6 +50,7 @@ public class KeycloakOnUndertow implements DeployableContainer<KeycloakOnUnderto
|
||||||
|
|
||||||
private UndertowJaxrsServer undertow;
|
private UndertowJaxrsServer undertow;
|
||||||
private KeycloakOnUndertowConfiguration configuration;
|
private KeycloakOnUndertowConfiguration configuration;
|
||||||
|
private KeycloakSessionFactory sessionFactory;
|
||||||
|
|
||||||
private DeploymentInfo createAuthServerDeploymentInfo() {
|
private DeploymentInfo createAuthServerDeploymentInfo() {
|
||||||
ResteasyDeployment deployment = new ResteasyDeployment();
|
ResteasyDeployment deployment = new ResteasyDeployment();
|
||||||
|
@ -130,7 +132,11 @@ public class KeycloakOnUndertow implements DeployableContainer<KeycloakOnUnderto
|
||||||
.setIoThreads(configuration.getWorkerThreads() / 8)
|
.setIoThreads(configuration.getWorkerThreads() / 8)
|
||||||
);
|
);
|
||||||
|
|
||||||
undertow.deploy(createAuthServerDeploymentInfo());
|
DeploymentInfo di = createAuthServerDeploymentInfo();
|
||||||
|
undertow.deploy(di);
|
||||||
|
ResteasyDeployment deployment = (ResteasyDeployment) di.getServletContextAttributes().get(ResteasyDeployment.class.getName());
|
||||||
|
sessionFactory = ((KeycloakApplication) deployment.getApplication()).getSessionFactory();
|
||||||
|
|
||||||
|
|
||||||
log.info("Auth server started in " + (System.currentTimeMillis() - start) + " ms\n");
|
log.info("Auth server started in " + (System.currentTimeMillis() - start) + " ms\n");
|
||||||
}
|
}
|
||||||
|
@ -138,6 +144,7 @@ public class KeycloakOnUndertow implements DeployableContainer<KeycloakOnUnderto
|
||||||
@Override
|
@Override
|
||||||
public void stop() throws LifecycleException {
|
public void stop() throws LifecycleException {
|
||||||
log.info("Stopping auth server.");
|
log.info("Stopping auth server.");
|
||||||
|
sessionFactory.close();
|
||||||
undertow.stop();
|
undertow.stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue