1717
1818import org .springframework .beans .factory .annotation .Autowired ;
1919import org .springframework .stereotype .Service ;
20+ import static org .terracotta .tinypounder .CacheConfiguration .ClusterTierType .DEDICATED ;
21+ import static org .terracotta .tinypounder .CacheConfiguration .ClusterTierType .SHARED ;
2022
2123import java .io .File ;
2224import java .io .IOException ;
4143import java .util .concurrent .TimeUnit ;
4244import java .util .stream .IntStream ;
4345
44- import static org .terracotta .tinypounder .CacheConfiguration .ClusterTierType .DEDICATED ;
45- import static org .terracotta .tinypounder .CacheConfiguration .ClusterTierType .SHARED ;
46-
4746@ Service
4847public class CacheManagerBusinessReflectionImpl implements CacheManagerBusiness {
4948
@@ -238,13 +237,13 @@ public String retrieveHumanReadableConfiguration() {
238237 }
239238
240239 @ Override
241- public void initializeCacheManager (String terracottaServerUrl , String cmName , String diskPersistenceLocation , String defaultOffheapResource , String serverDiskResource ) {
240+ public void initializeCacheManager (String terracottaServerUrl , String cmName , String diskPersistenceLocation , String defaultOffheapResource , String serverDiskResource , String securityPath ) {
242241 try {
243242 Thread .currentThread ().setContextClassLoader (kitAwareClassLoaderDelegator .getUrlClassLoader ());
244243 Object clusteringServiceConfigurationBuilder ;
245244 if (terracottaServerUrl != null ) {
246245 URI clusterUri = URI .create ("terracotta://" + terracottaServerUrl + "/" + cmName );
247- clusteringServiceConfigurationBuilder = constructClusteringServiceConfigurationBuilder (cmName , clusterUri , kitAwareClassLoaderDelegator .isEEKit (), defaultOffheapResource , serverDiskResource );
246+ clusteringServiceConfigurationBuilder = constructClusteringServiceConfigurationBuilder (cmName , clusterUri , kitAwareClassLoaderDelegator .isEEKit (), defaultOffheapResource , serverDiskResource , securityPath );
248247 } else {
249248 clusteringServiceConfigurationBuilder = null ;
250249 }
@@ -329,7 +328,7 @@ private Object constructCacheManagerBuilder(Object enterpriseClusteringServiceCo
329328 return buildMethod .invoke (cacheManagerBuilder );
330329 }
331330
332- private Object constructClusteringServiceConfigurationBuilder (String clusterTierManagerName , URI clusterUri , boolean eeKit , String defaultOffheapResource , String serverDiskResource ) throws IllegalAccessException , InvocationTargetException , ClassNotFoundException , NoSuchMethodException {
331+ private Object constructClusteringServiceConfigurationBuilder (String clusterTierManagerName , URI clusterUri , boolean eeKit , String defaultOffheapResource , String serverDiskResource , String securityPath ) throws IllegalAccessException , InvocationTargetException , ClassNotFoundException , NoSuchMethodException {
333332
334333 Class <?> memoryUnitClass = loadClass ("org.ehcache.config.units.MemoryUnit" );
335334 Method valueOfMethod = memoryUnitClass .getMethod ("valueOf" , String .class );
@@ -351,16 +350,23 @@ private Object constructClusteringServiceConfigurationBuilder(String clusterTier
351350
352351
353352 Class <?> enterpriseClusteringServiceConfigurationBuilderClass = loadClass ("com.terracottatech.ehcache.clustered.client.config.builders.EnterpriseClusteringServiceConfigurationBuilder" );
354- Method enterpriseClusterMethod = enterpriseClusteringServiceConfigurationBuilderClass . getMethod ( "enterpriseCluster" , URI . class );
353+
355354
356355 Method autoCreateMethod = enterpriseClusteringServiceConfigurationBuilderClass .getMethod ("autoCreate" );
357356 Method defaultServerResourceMethod = enterpriseServerSideConfigurationBuilderClass .getMethod ("defaultServerResource" , String .class );
358357 Method resourcePoolMethod4 = enterpriseServerSideConfigurationBuilderClass .getMethod ("resourcePool" , String .class , long .class , memoryUnitClass , String .class );
359358 Method resourcePoolMethod3 = enterpriseServerSideConfigurationBuilderClass .getMethod ("resourcePool" , String .class , long .class , memoryUnitClass );
360359 Method restartableMethod = enterpriseServerSideConfigurationBuilderClass .getMethod ("restartable" , String .class );
361360
361+ Object enterpriseClusteringServiceConfigurationBuilder ;
362+ if (securityPath != null ) {
363+ Method enterpriseClusterMethod = enterpriseClusteringServiceConfigurationBuilderClass .getMethod ("enterpriseSecureCluster" , URI .class , Path .class );
364+ enterpriseClusteringServiceConfigurationBuilder = enterpriseClusterMethod .invoke (null , clusterUri .resolve (clusterTierManagerName ), Paths .get (securityPath ));
365+ } else {
366+ Method enterpriseClusterMethod = enterpriseClusteringServiceConfigurationBuilderClass .getMethod ("enterpriseCluster" , URI .class );
367+ enterpriseClusteringServiceConfigurationBuilder = enterpriseClusterMethod .invoke (null , clusterUri .resolve (clusterTierManagerName ));
368+ }
362369
363- Object enterpriseClusteringServiceConfigurationBuilder = enterpriseClusterMethod .invoke (null , clusterUri .resolve (clusterTierManagerName ));
364370 if (timeoutsClass != null && timeoutsInstance != null ) {
365371 Method timeoutsMethod = enterpriseClusteringServiceConfigurationBuilderClass .getMethod ("timeouts" , timeoutsClass );
366372 enterpriseClusteringServiceConfigurationBuilder = timeoutsMethod .invoke (enterpriseClusteringServiceConfigurationBuilder , timeoutsInstance );
0 commit comments