transportBuilder.clusterName(this.name);
Executor executor = transport.getExecutor();
if (executor != null) {
builder.transport().transportThreadPool().threadPoolFactory(
new ManagedThreadPoolExecutorFactory(executor));
}
}
AuthorizationConfiguration authorization = this.dependencies.getAuthorizationConfiguration();
GlobalAuthorizationConfigurationBuilder authorizationBuilder = builder.security().authorization();
if (authorization != null) {
authorizationBuilder.enable();
if (authorization.getPrincipalMapper() != null) {
try {
authorizationBuilder.principalRoleMapper(Class.forName(authorization.getPrincipalMapper(), true, loader).asSubclass(PrincipalRoleMapper.class).newInstance());
} catch (Exception e) {
throw new StartException(e);
}
} else {
authorizationBuilder.principalRoleMapper(new ServerPrincipalMapper());
}
for(Entry<String, List<String>> role : authorization.getRoles().entrySet()) {
GlobalRoleConfigurationBuilder roleBuilder = authorizationBuilder.role(role.getKey());
for(String perm : role.getValue()) {
roleBuilder.permission(perm);
}
}
}
Executor listenerExecutor = this.dependencies.getListenerExecutor();
if (listenerExecutor != null) {
builder.listenerThreadPool().threadPoolFactory(
new ManagedThreadPoolExecutorFactory(listenerExecutor));
}
ScheduledExecutorService evictionExecutor = this.dependencies.getEvictionExecutor();
if (evictionExecutor != null) {
builder.evictionThreadPool().threadPoolFactory(
new ManagedThreadPoolExecutorFactory(evictionExecutor));
}
ScheduledExecutorService replicationQueueExecutor = this.dependencies.getReplicationQueueExecutor();
if (replicationQueueExecutor != null) {
builder.replicationQueueThreadPool().threadPoolFactory(
new ManagedThreadPoolExecutorFactory(replicationQueueExecutor));
}
GlobalJmxStatisticsConfigurationBuilder jmxBuilder = builder.globalJmxStatistics().cacheManagerName(this.name);
MBeanServer server = this.dependencies.getMBeanServer();