这是带有 jndi 的 springboot
@Bean
public ServletWebServerFactory servletContainer() {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() {
@Override
protected TomcatWebServer getTomcatWebServer(Tomcat tomcat) {
tomcat.enableNaming();//启用默认禁用的JNDI命名
return super.getTomcatWebServer(tomcat);
}
@Override
protected void postProcessContext(Context context) {
List<DataConfig> list = dataConfigProperty.getDatabase();
for (DataConfig dataConfig : list) {
//构建一个ContextResource对象,然后添加到Context对象中
ContextResource resource = new ContextResource();
resource.setName(dataConfig.getJndiname());
resource.setType(DataSource.class.getName());
resource.setProperty("driverClassName", dataConfig.getDriverClassName());
resource.setProperty("url", dataConfig.getUrl());
resource.setProperty("username", dataConfig.getUsername());
resource.setProperty("password",dataConfig.getPassword());
context.getNamingResources().addResource(resource);
}
super.postProcessContext(context);
}
};
return tomcat;
}
但是这个加载顺序是在shiro加载之后。 请给我一些建议。谢谢
不知道怎么解决