Spring启动嵌入式tomcat自定义域

时间:2015-06-11 16:05:21

标签: java spring tomcat spring-boot

我知道这个问题:embedded tomcat spring boot
但是就解决方案而言,这还有很多不足之处,目前我有以下代码可以启用SSL:

TomcatEmbeddedServletContainerFactory tomcat = (TomcatEmbeddedServletContainerFactory) container;
tomcat.addConnectorCustomizers( (connector) -> {
     connector.setPort(8443);
     connector.setSecure(true);
     connector.setScheme("https");

     Http11NioProtocol protocol = (Http11NioProtocol) connector.getProtocolHandler();
     protocol.setSSLEnabled(true);
     protocol.setKeystoreFile(keystore);
     protocol.setKeystorePass(password);
     protocol.setKeystoreType("jks");
     protocol.setKeyAlias(alias);
}
)

我的问题是,如果我有一个在XML中看起来像这样的领域:

<Realm classname="foo.bar.baz | bing.bang.bong"
        var1 = "xyz"
        var2 = "123"
/>

如何使用嵌入式tomcat重新创建它?

1 个答案:

答案 0 :(得分:1)

尝试使用ContextCustomizer而不是ConnectorCustomizer

tomcat.addContextCustomizers( (context) -> { 
    context.setRealm(...);
}
)