最近很多小伙伴都在问从Apacheconfiguration中删除/var/www/图标别名和如何删除apache服务这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展Apachec
最近很多小伙伴都在问从Apacheconfiguration中删除/ var / www /图标别名和如何删除apache服务这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展Apacheconfiguration – 从authentication中排除位置、org.apache.commons.configuration.AbstractConfiguration的实例源码、org.apache.commons.configuration.AbstractFileConfiguration的实例源码、org.apache.commons.configuration.AbstractHierarchicalFileConfiguration的实例源码等相关知识,下面开始了哦!
本文目录一览:- 从Apacheconfiguration中删除/ var / www /图标别名(如何删除apache服务)
- Apacheconfiguration – 从authentication中排除位置
- org.apache.commons.configuration.AbstractConfiguration的实例源码
- org.apache.commons.configuration.AbstractFileConfiguration的实例源码
- org.apache.commons.configuration.AbstractHierarchicalFileConfiguration的实例源码
从Apacheconfiguration中删除/ var / www /图标别名(如何删除apache服务)
我在我的Web服务器上有一个名为/var/www/icons的目录,这个目录在我的Apacheconfiguration中也被引用为别名,如下所示:
Alias /icons/ "/var/www/icons/"
该目录包含许多小PNG和GIF,其中AFAIK未使用,还有README文件。
我安全地通过评论它从我的Apacheconfiguration删除这个别名? 如果没有,我的申请的哪个方面是取消这个可能的影响?
目录上的文档很less,我必须承认我从来没有遇到过这个问题。
在.htaccess中使用基于环境variables的RewriteCond
.htaccess文件夹到虚拟文件夹重写
如何进行基本身份validation排除重写的URL
花括号({和})从Apache到Nginx的重写规则。
Apache + Node.js + mod_proxy。 如何路由一个域到:3000和另一个到:80
在读取正文之前拒绝HTTP请求
使用rails,Nginx和send_file在Chrome中stream式传输mp4
与WsgiDaemonProcess的django apacheconfiguration不工作
如何在Ubuntu 12.10中创buildVirtualHost
在Ubuntu 14.04上安装Apache 2.4.7
大多数图标用于在目录列表中显示文件类型。 如果你不使用这样的列表,你可以安全地删除别名+文件。 我这样做,不要错过它们。
确实可以安全地将其删除。 其他的conf文件可以引用/图标(例如autoindex模块),但除了一些未发现的错误,不应该发生任何讨厌的事情。
我的建议:扫描access.log文件,看看是否存在以/图标为根的URL。 删除别名并监视error.log文件中的404错误。
总结
以上是小编为你收集整理的从Apacheconfiguration中删除/ var / www /图标别名全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
Apacheconfiguration – 从authentication中排除位置
我有一个受Shibbolethauthentication模块保护的Web应用程序。 我目前的configuration如下
<Location /MyApp> AuthType shibboleth ShibUseHeaders On ShibRequestSetting requireSession 1 require shibboleth </Location>
shibboleth是一个提供SSOfunction的身份validation模块,当前的stream程将用户引导到身份提供者以供用户inputlogin凭证。 我希望能够打开一个特定的URL,以便URL被authentication模块绕过。 我试了下面,但它似乎并没有工作,我得到一个空白页面加载URL
方法1
<Location /MyApp/Login.html> Satisfy Any Allow from all AuthType None Require all granted </Location>
方法2
位置重写为多个域
在Nginx中嵌套位置
得到被点击的图片框的位置
我应该在哪里放第三方库?
带有多个位置的Nginx proxypass
<Location /MyApp/Login.html> AuthType shibboleth ShibRequestSetting requireSession 0 require shibboleth </Location>
我做了一些额外的debugging,似乎问题是与其他文件的Login.html加载 – 如CSS,JS等。什么是正确的方式来configuration这个在Apache中,这样的Login.html可以绕过authentication
谢谢
如何将python中的.place()方法转换为java?
如何防止出现新的连接的networking位置对话框(家庭,工作,公共)?
C# – 如何访问WLAN信号强度和其他?
不能用Nginx隐藏位置的端口
获取文件的扇区位置
我对最后关于排除Login.html加载的其他文件的评论最终是正确的。 我使用下面的格式来排除HTML文件正在加载的文件
<Location ~ "/MyApp/(Login.html|SessionTimeout.html|accessDenied.html|/badRequest.html|status|css/*|login/*|images/*|style/*|js/*|javascript/*|)"> Satisfy Any Allow from all AuthType None Require all granted </Location>
总结
以上是小编为你收集整理的Apacheconfiguration – 从authentication中排除位置全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
org.apache.commons.configuration.AbstractConfiguration的实例源码
public static AbstractConfiguration createDynamicConfig() { LOGGER.info("create dynamic config:"); ConcurrentCompositeConfiguration config = ConfigUtil.createLocalConfig(); DynamicWatchedConfiguration configFromConfigCenter = createConfigFromConfigCenter(config); if (configFromConfigCenter != null) { ConcurrentMapConfiguration injectConfig = new ConcurrentMapConfiguration(); config.addConfigurationAtFront(injectConfig,"extraInjectConfig"); duplicateServiceCombConfigToCse(configFromConfigCenter); config.addConfigurationAtFront(configFromConfigCenter,"configCenterConfig"); configFromConfigCenter.getSource().addUpdateListener(new ServiceCombPropertyUpdateListener(injectConfig)); } return config; }
@Test public void testCreateDynamicConfigNoConfigCenterSPI() { new Expectations(SPIServiceUtils.class) { { SPIServiceUtils.getTargetService(ConfigCenterConfigurationSource.class); result = null; } }; AbstractConfiguration dynamicConfig = ConfigUtil.createDynamicConfig(); MicroserviceConfigLoader loader = ConfigUtil.getMicroserviceConfigLoader(dynamicConfig); List<ConfigModel> list = loader.getConfigModels(); Assert.assertEquals(loader,ConfigUtil.getMicroserviceConfigLoader(dynamicConfig)); Assert.assertEquals(1,list.size()); Assert.assertNotEquals(DynamicWatchedConfiguration.class,((ConcurrentCompositeConfiguration) dynamicConfig).getConfiguration(0).getClass()); }
@BeforeClass public static void beforeCls() { ConfigUtil.installDynamicConfig(); AbstractConfiguration configuration = (AbstractConfiguration) DynamicPropertyFactory.getbackingConfigurationSource(); configuration.addProperty("cse.loadbalance.test.transactionControl.policy","org.apache.servicecomb.loadbalance.filter.SimpleTransactionControlFilter"); configuration.addProperty("cse.loadbalance.test.transactionControl.options.tag0","value0"); configuration.addProperty("cse.loadbalance.test.isolation.enabled","true"); configuration.addProperty("cse.loadbalance.serverListFilters","a"); configuration.addProperty("cse.loadbalance.serverListFilter.a.className","org.apache.servicecomb.loadbalance.MyServerListFilterExt"); }
@Before public void setUp() throws Exception { IsolationServerListFilter = new IsolationServerListFilter(); loadBalancerStats = new LoadBalancerStats("loadBalancer"); AbstractConfiguration configuration = (AbstractConfiguration) DynamicPropertyFactory.getbackingConfigurationSource(); configuration.clearProperty("cse.loadbalance.isolation.enabled"); configuration.addProperty("cse.loadbalance.isolation.enabled","true"); configuration.clearProperty("cse.loadbalance.isolation.enableRequestThreshold"); configuration.addProperty("cse.loadbalance.isolation.enableRequestThreshold","3"); }
@After public void tearDown() throws Exception { IsolationServerListFilter = null; loadBalancerStats = null; AbstractConfiguration configuration = (AbstractConfiguration) DynamicPropertyFactory.getbackingConfigurationSource(); configuration.clearProperty("cse.loadbalance.isolation.continuousFailureThreshold"); }
@Test public void testGetFilteredlistofServersOnContinuousFailureReachesThreshold() { ((AbstractConfiguration) DynamicPropertyFactory.getbackingConfigurationSource()) .addProperty("cse.loadbalance.isolation.continuousFailureThreshold","3"); Invocation invocation = Mockito.mock(Invocation.class); CseServer testServer = Mockito.mock(CseServer.class); Mockito.when(invocation.getMicroserviceName()).thenReturn("microserviceName"); Mockito.when(testServer.getCountinuousFailureCount()).thenReturn(3); Mockito.when(testServer.getLastVisitTime()).thenReturn(System.currentTimeMillis()); for (int i = 0; i < 3; ++i) { loadBalancerStats.incrementNumRequests(testServer); } List<Server> serverList = new ArrayList<>(); serverList.add(testServer); IsolationServerListFilter.setLoadBalancerStats(loadBalancerStats); IsolationServerListFilter.setInvocation(invocation); List<Server> returnedServerList = IsolationServerListFilter.getFilteredlistofServers(serverList); Assert.assertEquals(0,returnedServerList.size()); }
@Test public void testGetFilteredlistofServersOnContinuousFailureIsBelowThreshold() { ((AbstractConfiguration) DynamicPropertyFactory.getbackingConfigurationSource()) .addProperty("cse.loadbalance.isolation.continuousFailureThreshold","3"); Invocation invocation = Mockito.mock(Invocation.class); CseServer testServer = Mockito.mock(CseServer.class); Mockito.when(invocation.getMicroserviceName()).thenReturn("microserviceName"); Mockito.when(testServer.getCountinuousFailureCount()).thenReturn(2); Mockito.when(testServer.getLastVisitTime()).thenReturn(System.currentTimeMillis()); for (int i = 0; i < 3; ++i) { loadBalancerStats.incrementNumRequests(testServer); } List<Server> serverList = new ArrayList<>(); serverList.add(testServer); IsolationServerListFilter.setLoadBalancerStats(loadBalancerStats); IsolationServerListFilter.setInvocation(invocation); List<Server> returnedServerList = IsolationServerListFilter.getFilteredlistofServers(serverList); Assert.assertEquals(1,returnedServerList.size()); }
@BeforeClass public static void beforeCls() { ConfigUtil.installDynamicConfig(); AbstractConfiguration configuration = (AbstractConfiguration) DynamicPropertyFactory.getbackingConfigurationSource(); configuration.addProperty(REQUEST_TIMEOUT_KEY,2000); }
@Override public void init(AbstractConfiguration config,ApplicationListenerFactory factory) { init(config); logger.trace("Initializing Kafka consumer ..."); // consumer config Properties props = new Properties(); props.put("bootstrap.servers",config.getString("bootstrap.servers")); props.put("group.id",config.getString("group.id")); props.put("enable.auto.commit","true"); props.put("key.serializer",StringSerializer.class.getName()); props.put("value.serializer",InternalMessageSerializer.class.getName()); // consumer this.consumer = new KafkaConsumer<>(props); // consumer worker this.worker = new KafkaApplicationWorker(this.consumer,APPLICATION_TOPIC,factory.newListener()); this.executor.submit(this.worker); }
@Override public void init(AbstractConfiguration config,String brokerId,brokerListenerFactory factory) { init(config); broKER_TOPIC = broKER_TOPIC_PREFIX + "." + brokerId; logger.trace("Initializing Kafka consumer ..."); // consumer config Properties props = new Properties(); props.put("bootstrap.servers",UUIDs.shortUuid()); props.put("enable.auto.commit",InternalMessageSerializer.class.getName()); // consumer this.consumer = new KafkaConsumer<>(props); // consumer worker this.worker = new KafkabrokerWorker(this.consumer,broKER_TOPIC,factory.newListener()); this.executor.submit(this.worker); }
protected void init(AbstractConfiguration config) { broKER_TOPIC_PREFIX = config.getString("communicator.broker.topic"); APPLICATION_TOPIC = config.getString("communicator.application.topic"); logger.trace("Initializing Kafka producer ..."); // producer config Properties props = new Properties(); props.put("bootstrap.servers",config.getString("bootstrap.servers")); props.put("acks",config.getString("acks")); props.put("key.serializer",InternalMessageSerializer.class.getName()); // producer this.producer = new KafkaProducer<>(props); // consumer executor this.executor = Executors.newSingleThreadExecutor(); }
@Override public void init(AbstractConfiguration config) { if (!config.getString("redis.type").equals("single")) { throw new IllegalStateException("RedisSyncSingleStorage class can only be used with single redis setup,but redis.type value is " + config.getString("redis.type")); } List<String> address = parseRedisAddress(config.getString("redis.address"),6379); int databaseNumber = config.getInt("redis.database",0); String password = StringUtils.isNotEmpty(config.getString("redis.password")) ? config.getString("redis.password") + "@" : ""; // lettuce RedisURI lettuceURI = RedisURI.create("redis://" + password + address.get(0) + "/" + databaseNumber); this.lettuce = RedisClient.create(lettuceURI); this.lettuceConn = this.lettuce.connect(); // redisson Config redissonConfig = new Config(); redissonConfig.useSingleServer() .setAddress(address.get(0)) .setDatabase(databaseNumber) .setPassword(StringUtils.isNotEmpty(password) ? password : null); this.redisson = Redisson.create(redissonConfig); // params initParams(config); }
@Override public void init(AbstractConfiguration config,String serverId) { try { ConnectionFactory cf = new ConnectionFactory(); cf.setUsername(config.getString("rabbitmq.userName",ConnectionFactory.DEFAULT_USER)); cf.setPassword(config.getString("rabbitmq.password",ConnectionFactory.DEFAULT_PASS)); cf.setVirtualHost(config.getString("rabbitmq.virtualHost",ConnectionFactory.DEFAULT_VHOST)); cf.setAutomaticRecoveryEnabled(true); cf.setExceptionHandler(new RabbitMQExceptionHandler()); this.conn = cf.newConnection(Address.parseAddresses(config.getString("rabbitmq.addresses"))); this.channel = conn.createChannel(); logger.trace("Initializing RabbitMQ broker resources ..."); broKER_TOPIC_PREFIX = config.getString("communicator.broker.topic"); logger.trace("Initializing RabbitMQ application resources ..."); APPLICATION_TOPIC = config.getString("communicator.application.topic"); this.channel.exchangeDeclare(APPLICATION_TOPIC,"topic",true); } catch (IOException | TimeoutException e) { logger.error("Failed to connect to RabbitMQ servers",e); throw new IllegalStateException("Init RabbitMQ communicator Failed"); } }
/** * Attempts to acquire the Vault URL from Archaius. * * @return Vault URL */ @Nullable @Override public String resolve() { final AbstractConfiguration configuration = ConfigurationManager.getConfigInstance(); final String envUrl = configuration.getString(CERBERUS_ADDR_ENV_PROPERTY); final String sysUrl = configuration.getString(CERBERUS_ADDR_SYS_PROPERTY); if (StringUtils.isNotBlank(envUrl) && HttpUrl.parse(envUrl) != null) { return envUrl; } else if (StringUtils.isNotBlank(sysUrl) && HttpUrl.parse(sysUrl) != null) { return sysUrl; } logger.warn("Unable to resolve the Cerberus URL."); return null; }
@Override public Config createConfig(String name) { if (CONfig != null) { return CONfig; } synchronized (ArchaiusBaseFactory.class) { if (CONfig == null) { AbstractConfiguration configuration = getConfiguration(); ConfigurationManager.install(configuration); CONfig = new ArchaiusWrapper(configuration); ConfigFactory.setContext(CONfig); configuration.addConfigurationListener(event -> { if (!event.isBeforeUpdate()) { CONfig.fire(event.getPropertyName()); } }); } } return CONfig; }
@Override public void init(AbstractConfiguration config) { if (!config.getString("redis.type").equals("single")) { throw new IllegalStateException("RedisSyncSingleStorageImpl class can only be used with single redis setup,0); String password = StringUtils.isNotEmpty(config.getString("redis.password")) ? config.getString("redis.password") + "@" : ""; // lettuce RedisURI lettuceURI = RedisURI.create("redis://" + password + address.get(0) + "/" + databaseNumber); this.lettuce = RedisClient.create(lettuceURI); this.lettuceConn = this.lettuce.connect(); // params initParams(config); }
@Override public void init(AbstractConfiguration config) { if (!config.getString("redis.type").equals("sentinel")) { throw new IllegalStateException("RedisSyncSingleStorageImpl class can only be used with sentinel redis setup,26379); int databaseNumber = config.getInt("redis.database",0); String password = StringUtils.isNotEmpty(config.getString("redis.password")) ? config.getString("redis.password") + "@" : ""; String masterId = config.getString("redis.master"); // lettuce RedisURI lettuceURI = RedisURI.create("redis-sentinel://" + password + String.join(",",address) + "/" + databaseNumber + "#" + masterId); this.lettuceSentinel = RedisClient.create(lettuceURI); this.lettuceSentinelConn = MasterSlave.connect(this.lettuceSentinel,new Utf8StringCodec(),lettuceURI); this.lettuceSentinelConn.setReadFrom(ReadFrom.valueOf(config.getString("redis.read"))); // params initParams(config); }
@Override public void init(AbstractConfiguration config) { if (!config.getString("redis.type").equals("master_slave")) { throw new IllegalStateException("RedisSyncSingleStorageImpl class can only be used with master slave redis setup,0); String password = StringUtils.isNotEmpty(config.getString("redis.password")) ? config.getString("redis.password") + "@" : ""; // lettuce RedisURI lettuceURI = RedisURI.create("redis://" + password + address.get(0) + "/" + databaseNumber); this.lettuceMasterSlave = RedisClient.create(lettuceURI); this.lettuceMasterSlaveConn = MasterSlave.connect(this.lettuceMasterSlave,lettuceURI); this.lettuceMasterSlaveConn.setReadFrom(ReadFrom.valueOf(config.getString("redis.read"))); // params initParams(config); }
/** Create a new instance. */ @Inject Plugin(Registry registry) throws IOException { AbstractConfiguration config = ConfigurationManager.getConfigInstance(); final boolean enabled = config.getBoolean(ENABLED_PROP,true); if (enabled) { ConfigurationManager.loadPropertiesFromresources(CONfig_FILE); if (config.getBoolean("spectator.gc.loggingEnabled")) { GC_LOGGER.start(null); LOGGER.info("gc logging started"); } else { LOGGER.info("gc logging is not enabled"); } Jmx.registerStandardMXBeans(registry); } else { LOGGER.debug("plugin not enabled,set " + ENABLED_PROP + "=true to enable"); } }
@Override protected void doGet(HttpServletRequest req,HttpServletResponse resp) throws servletexception,IOException { // get list of properties TreeSet<String> properties = new TreeSet<String>(); AbstractConfiguration config = ConfigurationManager.getConfigInstance(); Iterator<String> keys = config.getKeys(); while (keys.hasNext()) { String key = keys.next(); Object value = config.getProperty(key); if ("aws.accessId".equals(key) || "aws.secretKey".equals(key) || "experiments-service.secret".equals(key) || "java.class.path".equals(key) || key.contains("framework.securityDeFinition") || key.contains("password") || key.contains("secret")) { value = "*****"; } properties.add(key + "=" + value.toString()); } // write them out in sorted order for (String line : properties) { resp.getWriter().append(line).println(); } }
@Override public void onApplicationEvent(ContextRefreshedEvent event) { logger.debug("Received ContextRefreshedEvent {}",event); if (event.getSource().equals(getBootstrapApplicationContext())) { //the root context is fully started appMetadata = bootstrapApplicationContext.getBean(AppMetadata.class); configuration = bootstrapApplicationContext.getBean(AbstractConfiguration.class); configurationProvider = bootstrapApplicationContext.getBean(ConfigurationProvider.class); logger.debug("Root context started"); initClientApplication(); return; } if (event.getSource() instanceof ApplicationContext && ((ApplicationContext) event.getSource()).getId().equals(appMetadata.getName())) { //the child context is fully started this.applicationContext = (AbstractApplicationContext) event.getSource(); logger.debug("Child context started"); } state.compareAndSet(State.STARTING,State.RUNNING); }
@Bean @SuppressWarnings("resource") public AbstractConfiguration applicationConfiguration() throws ClassNotFoundException { AppMetadata appMetadata = appMetadata(); ServerInstanceContext serverInstanceContext = serverInstanceContext(); if(appEnvironment == null && serverInstanceContext != null){ appEnvironment = serverInstanceContext.getEnvironment(); } ConfigurationBuilder configurationBuilder = new ConfigurationBuilder(appMetadata.getName(),appEnvironment,addSystemConfigs,reflections()); configurationBuilder.withConfigurationProvider(configurationProvider()); configurationBuilder.withServerInstanceContext(serverInstanceContext()); configurationBuilder.withApplicationProperties(appMetadata.getPropertiesResourceLocation()); configurationBuilder.withScanModuleConfigurations(scanModuleConfigurations); configurationBuilder.withAppVersion(appMetadata.getDeclaringClass().getPackage().getImplementationVersion()); AbstractConfiguration configuration = configurationBuilder.build(); if(serverInstanceContext != null){ serverInstanceContext.setAppName(appMetadata.getName()); serverInstanceContext.setVersion(configuration.getString(BootstrapConfigKeys.APP_VERSION_KEY.getPropertyName())); } return configuration; }
@Override public void onApplicationEvent(EnvironmentChangeEvent event) { AbstractConfiguration manager = ConfigurationManager.getConfigInstance(); for (String key : event.getKeys()) { for (ConfigurationListener listener : manager .getConfigurationListeners()) { Object source = event.getSource(); // Todo: Handle add vs set vs delete? int type = AbstractConfiguration.EVENT_SET_PROPERTY; String value = this.env.getProperty(key); boolean beforeUpdate = false; listener.configurationChanged(new ConfigurationEvent(source,type,key,value,beforeUpdate)); } } }
private static void addArchaiusConfiguration(ConcurrentCompositeConfiguration config) { if (ConfigurationManager.isConfigurationInstalled()) { AbstractConfiguration installedConfiguration = ConfigurationManager .getConfigInstance(); if (installedConfiguration instanceof ConcurrentCompositeConfiguration) { ConcurrentCompositeConfiguration configInstance = (ConcurrentCompositeConfiguration) installedConfiguration; configInstance.addConfiguration(config); } else { installedConfiguration.append(config); if (!(installedConfiguration instanceof AggregatedConfiguration)) { log.warn( "Appending a configuration to an existing non-aggregated installed configuration will have no effect"); } } } else { ConfigurationManager.install(config); } }
@Test public void testSunnyDayNoClientAuth() throws Exception{ AbstractConfiguration cm = ConfigurationManager.getConfigInstance(); String name = "GetPostSecureTest" + ".testSunnyDayNoClientAuth"; String configPrefix = name + "." + "ribbon"; cm.setProperty(configPrefix + "." + CommonClientConfigKey.IsSecure,"true"); cm.setProperty(configPrefix + "." + CommonClientConfigKey.SecurePort,Integer.toString(PORT2)); cm.setProperty(configPrefix + "." + CommonClientConfigKey.IsHostnameValidationrequired,"false"); cm.setProperty(configPrefix + "." + CommonClientConfigKey.TrustStore,FILE_TS2.getAbsolutePath()); cm.setProperty(configPrefix + "." + CommonClientConfigKey.TrustStorePassword,PASSWORD); RestClient rc = (RestClient) ClientFactory.getNamedClient(name); testServer2.accept(); URI getUri = new URI(SERVICE_URI2 + "test/"); HttpRequest request = HttpRequest.newBuilder().uri(getUri).queryParams("name","test").build(); HttpResponse response = rc.execute(request); assertEquals(200,response.getStatus()); }
@Before public void setUp() { AbstractConfiguration.setDefaultListDelimiter(','); clearTestSystemProperties(); this.configurationHelper = new ConfigurationHelper(); this.test1Properties = new HashMap<String,String>() {{ this.put("a.b.c","efgh"); this.put("a.b.d","1234"); }}; this.test3Properties = new HashMap<String,"jklm"); this.put("e.f.h","90123"); // The value in the file is "foo,bar" but AbstractConfiguration.getString(key) only returns // the first item in a collection. this.put("i.j.k","foo"); }}; }
private void invokeListeners() { if (m_configurationListeners != null) { try { ConfigurationEvent event = new ConfigurationEvent(this,AbstractConfiguration.EVENT_SET_PROPERTY,null,this,false); for (ConfigurationListener listener:m_configurationListeners) { listener.configurationChanged(event); } } catch (Exception e) { throw new RuntimeException(e); } } }
public static AbstractConfiguration convertEnvVariable(AbstractConfiguration source) { Iterator<String> keys = source.getKeys(); while (keys.hasNext()) { String key = keys.next(); String[] separatedKey = key.split(CONfig_KEY_SPLITER); if (separatedKey.length == 1) { continue; } String newKey = String.join(".",separatedKey); source.addProperty(newKey,source.getProperty(key)); } return source; }
private static void duplicateServiceCombConfigToCse(AbstractConfiguration source) { Iterator<String> keys = source.getKeys(); while (keys.hasNext()) { String key = keys.next(); if (!key.startsWith(CONfig_SERVICECOMB_PREFIX)) { continue; } String cseKey = CONfig_CSE_PREFIX + key.substring(key.indexOf(".") + 1); source.addProperty(cseKey,source.getProperty(key)); } }
private static void duplicateServiceCombConfigToCse(ConcurrentCompositeConfiguration compositeConfiguration,AbstractConfiguration source,String sourceName) { duplicateServiceCombConfigToCse(source); compositeConfiguration.addConfiguration(source,sourceName); }
public static void installDynamicConfig() { if (ConfigurationManager.isConfigurationInstalled()) { LOGGER.warn("Configuration installed by others,will ignore this configuration."); return; } AbstractConfiguration dynamicConfig = ConfigUtil.createDynamicConfig(); ConfigurationManager.install(dynamicConfig); }
@Override protected Properties mergeProperties() throws IOException { Properties properties = super.mergeProperties(); AbstractConfiguration config = ConfigurationManager.getConfigInstance(); Iterator<String> iter = config.getKeys(); while (iter.hasNext()) { String key = iter.next(); Object value = config.getProperty(key); properties.put(key,value); } return properties; }
@Test public void testCreateDynamicConfigHasConfigCenter( @Mocked ConfigCenterConfigurationSource configCenterConfigurationSource) { AbstractConfiguration dynamicConfig = ConfigUtil.createDynamicConfig(); Assert.assertEquals(DynamicWatchedConfiguration.class,((ConcurrentCompositeConfiguration) dynamicConfig).getConfiguration(0).getClass()); }
@Test public void duplicateServiceCombConfigToCseListValue() throws Exception { List<String> list = Arrays.asList("a","b"); AbstractConfiguration config = new DynamicConfiguration(); config.addProperty("servicecomb.list",list); Deencapsulation.invoke(ConfigUtil.class,"duplicateServiceCombConfigToCse",config); Object result = config.getProperty("cse.list"); assertthat(result,instanceOf(List.class)); assertthat(result,equalTo(list)); }
@Test public void testConvertEnvVariable() { String someProperty = "cse_service_registry_address"; AbstractConfiguration config = new DynamicConfiguration(); config.addProperty(someProperty,"testing"); AbstractConfiguration result = ConfigUtil.convertEnvVariable(config); assertthat(result.getString("cse.service.registry.address"),equalTo("testing")); assertthat(result.getString("cse_service_registry_address"),equalTo("testing")); }
@Test public void testCreateMicroserviceInstanceFromFile() { AbstractConfiguration config = ConfigUtil.createDynamicConfig(); ConcurrentCompositeConfiguration configuration = new ConcurrentCompositeConfiguration(); configuration.addConfiguration(config); ConfigurationManager.install(configuration); MicroserviceInstance instance = MicroserviceInstance.createFromDeFinition(config); Assert.assertEquals(instance.getDataCenterInfo().getName(),"myDC"); Assert.assertEquals(instance.getDataCenterInfo().getRegion(),"my-Region"); Assert.assertEquals(instance.getDataCenterInfo().getAvailableZone(),"my-Zone"); }
@BeforeClass public static void initSetup() throws Exception { AbstractConfiguration dynamicConfig = ConfigUtil.createDynamicConfig(); ConcurrentCompositeConfiguration configuration = new ConcurrentCompositeConfiguration(); configuration.addConfiguration(dynamicConfig); configuration.addConfiguration(inMemoryConfig); ConfigurationManager.install(configuration); }
@BeforeClass public static void beforeCls() { AbstractConfiguration configuration = new BaseConfiguration(); configuration.addProperty("cse.loadbalance.test.flowsplitFilter.policy","org.apache.servicecomb.loadbalance.filter.SimpleFlowsplitFilter"); configuration.addProperty("cse.loadbalance.test.flowsplitFilter.options.tag0","value0"); }
@Override public void init(AbstractConfiguration config) { if (!config.getString("redis.type").equals("master_slave")) { throw new IllegalStateException("RedisSyncSingleStorage class can only be used with master slave redis setup,lettuceURI); this.lettuceMasterSlaveConn.setReadFrom(ReadFrom.valueOf(config.getString("redis.read"))); // redisson String masterNode = address.get(0); String[] slaveNodes = address.subList(1,address.size()).toArray(new String[address.size() - 1]); Config redissonConfig = new Config(); redissonConfig.useMasterSlaveServers() .setMasteraddress(masterNode) .setLoadBalancer(new RoundRobinLoadBalancer()) .addSlaveAddress(slaveNodes) .setReadMode(ReadMode.MASTER) .setDatabase(databaseNumber) .setPassword(StringUtils.isNotEmpty(password) ? password : null); this.redisson = Redisson.create(redissonConfig); // params initParams(config); }
@Override public void init(AbstractConfiguration config) { if (!config.getString("redis.type").equals("cluster")) { throw new IllegalStateException("RedisSyncSingleStorage class can only be used with cluster redis setup,0); String password = StringUtils.isNotEmpty(config.getString("redis.password")) ? config.getString("redis.password") + "@" : ""; // lettuce RedisURI lettuceURI = RedisURI.create("redis://" + password + address.get(0) + "/" + databaseNumber); this.lettuceCluster = RedisClusterClient.create(lettuceURI); this.lettuceCluster.setoptions(new ClusterClientOptions.Builder() .refreshClusterView(true) .refreshPeriod(1,TimeUnit.MINUTES) .build()); this.lettuceClusterConn = this.lettuceCluster.connect(); this.lettuceClusterConn.setReadFrom(ReadFrom.valueOf(config.getString("redis.read"))); // redisson Config redissonConfig = new Config(); redissonConfig.useClusterServers() .setScanInterval(60000) .addNodeAddress(address.toArray(new String[address.size()])) .setReadMode(ReadMode.MASTER) .setPassword(StringUtils.isNotEmpty(password) ? password : null); this.redisson = Redisson.create(redissonConfig); // params initParams(config); }
org.apache.commons.configuration.AbstractFileConfiguration的实例源码
@Override public void configurationChanged(ConfigurationEvent event) { if (event.isBeforeUpdate()) { return; } logger.log(OpLevel.DEBUG,"configurationChanged: type={0},{1}:{2}",event.getType(),event.getPropertyName(),event.getPropertyValue()); switch (event.getType()) { case AbstractConfiguration.EVENT_ADD_PROPERTY: repListener.repositoryChanged(new TokenRepositoryEvent(event.getSource(),TokenRepository.EVENT_ADD_KEY,event.getPropertyValue(),null)); break; case AbstractConfiguration.EVENT_SET_PROPERTY: repListener.repositoryChanged(new TokenRepositoryEvent(event.getSource(),TokenRepository.EVENT_SET_KEY,null)); break; case AbstractConfiguration.EVENT_CLEAR_PROPERTY: repListener.repositoryChanged(new TokenRepositoryEvent(event.getSource(),TokenRepository.EVENT_CLEAR_KEY,null)); break; case AbstractConfiguration.EVENT_CLEAR: repListener.repositoryChanged(new TokenRepositoryEvent(event.getSource(),TokenRepository.EVENT_CLEAR,null)); break; case AbstractFileConfiguration.EVENT_RELOAD: repListener.repositoryChanged(new TokenRepositoryEvent(event.getSource(),TokenRepository.EVENT_RELOAD,null)); break; } }
@Test(dataProvider = "overrides") public void testFindConfigFile(String override,String expected) throws Exception { SshdSettingsBuilder testBuilder = new SshdSettingsBuilder(); Configuration config = testBuilder.findPropertiesConfiguration(override); AbstractFileConfiguration fileConfiguration = (AbstractFileConfiguration) config; // we need to create expected from a new file. // because it's a complete filename. File expectedFile = new File(expected); String expectedpath = "file://" + expectedFile.getAbsolutePath(); Assert.assertEquals(fileConfiguration.getFileName(),expectedpath); }
public void configurationChanged(ConfigurationEvent event) { if (!event.isBeforeUpdate() && event.getType() == AbstractFileConfiguration.EVENT_RELOAD) { if (m_applicationContext instanceof AbstractRefreshableApplicationContext) { ((AbstractRefreshableApplicationContext)m_applicationContext).refresh(); } } }
org.apache.commons.configuration.AbstractHierarchicalFileConfiguration的实例源码
@Override public void saveto(OutputStream output) throws Exception { if (mConfiguration instanceof AbstractHierarchicalFileConfiguration) { ((AbstractHierarchicalFileConfiguration)mConfiguration).save(output); } else { throw new BadConfigException("Configuration not AbstractHierarchicalFileConfiguration!"); } }
关于从Apacheconfiguration中删除/ var / www /图标别名和如何删除apache服务的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于Apacheconfiguration – 从authentication中排除位置、org.apache.commons.configuration.AbstractConfiguration的实例源码、org.apache.commons.configuration.AbstractFileConfiguration的实例源码、org.apache.commons.configuration.AbstractHierarchicalFileConfiguration的实例源码的相关信息,请在本站寻找。
本文标签: