GVKun编程网logo

Apacheconfiguration帮助 – 为什么不同的进程“在不同的时区”?(不同进程所执行的代码也不同)

16

对于Apacheconfiguration帮助–为什么不同的进程“在不同的时区”?感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍不同进程所执行的代码也不同,并为您提供关于Apache的Wind

对于Apacheconfiguration帮助 – 为什么不同的进程“在不同的时区”?感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍不同进程所执行的代码也不同,并为您提供关于Apache的Windows虚拟目录configuration帮助、configurationnginx使用相同的URI将不同的文件返回给不同的authentication用户、org.apache.commons.configuration.AbstractConfiguration的实例源码、org.apache.commons.configuration.AbstractFileConfiguration的实例源码的有用信息。

本文目录一览:

Apacheconfiguration帮助 – 为什么不同的进程“在不同的时区”?(不同进程所执行的代码也不同)

Apacheconfiguration帮助 – 为什么不同的进程“在不同的时区”?(不同进程所执行的代码也不同)

我有一个VPS服务器上运行的Apache 2(运行Debian)。 我最近改变了从America / New_York到America / Los_Angeles的服务器上的时区(使用dpkg-reconfigure tzdata)以匹配我在整个国家的移动。 自从进行更改以来,我也重新启动了虚拟机。

但是,Apache进程似乎在时区之间摇摆不定。 从access_log中查看这个片段:

127.0.0.1 - - [02/Oct/2008:23:01:13 -0700] "GET /favicon.ico HTTP/1.0" 301 - "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.0.3) Gecko/2008092414 Firefox/3.0.3" 127.0.0.1 - - [03/Oct/2008:02:01:25 -0400] "GET /tag/wikipedia/?page=1 HTTP/1.0" 200 5984 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" 127.0.0.1 - - [03/Oct/2008:02:01:36 -0400] "GET /index.atom HTTP/1.0" 200 7648 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.0.2) Gecko/2008091618 Firefox/3.0.2" 127.0.0.1 - - [03/Oct/2008:02:01:45 -0400] "GET /tag/moblog/ HTTP/1.0" 200 6563 "-" "msnbot/1.1 (+http://search.msn.com/msnbot.htm)" 127.0.0.1 - - [02/Oct/2008:23:01:46 -0700] "GET /tag/opensource/ HTTP/1.0" 200 5954 "-" "msnbot/1.1 (+http://search.msn.com/msnbot.htm)" 127.0.0.1 - - [03/Oct/2008:02:01:56 -0400] "GET /tag/dopplr/ HTTP/1.0" 200 3407 "-" "msnbot/1.1 (+http://search.msn.com/msnbot.htm)"

它从23:01跳到02:01然后回来。 任何想法如何保持一致?

在PHP中使用系统的时区设置

在带有BST时区的窗口上使用python datetime.datetime.strptime

替代cron?

更改tomcat的时区

如何在Windows上优雅地打印Perl中的%z(timezone)格式?

时区规则的Linux /跨平台API? (replace锁localtime_r)

更改Tomcat中的时区

GetSystemTimeZones缺lessGMT标准时间

Windows程序如何暂时更改其时区?

时区在date?

你有没有机会使用ntpd和你同步的同龄人是片状?

事实证明,我在这个Apache实例上运行了两个Django项目,其中一个我已经固定指向America / Los_Angeles,但另一个我留下了。 取决于在创建新的Apache进程时首先访问的是哪个应用程序,这会浪费时间!

可能有些Apache工作进程是在更改时区之前启动的,有些则是之后启动的。 自从更改系统时区设置后,您是否完全停止并重新启动了Apache?

Apache的Windows虚拟目录configuration帮助

Apache的Windows虚拟目录configuration帮助

我通过Xampplite在Windows XP上运行Apache,并可以使用帮助来configuration我的虚拟目录。 以下是我希望在开发箱上做的事情:

我希望我的源文件能够在xampp htdocs目录之外生存

在我的本地机器上,我可以通过http:// myproject访问该项目

我的本地networking上的其他人可以访问my.ip.address / myproject中的项目

保持localhost指向xampp的htdocs文件夹,这样我可以轻松地添加其他项目。

通过编辑windows hosts文件,并在xampp的apache conf extra httpd-vhosts.conf文件中添加一个虚拟目录,我得到了1&2的工作。 我不会马上看到如何做3,而不会搞乱4。

Nginx – 我可以添加一个新的虚拟主机,而无需重新启动服务器?

Tomcat Cookie不能通过我的ProxyPass VirtualHost工作

错误28105#0:* 1在读取来自上游的响应头时,在stderr中发送了FastCGI:“主脚本未知”

Apache DocumentRoot到虚拟主机的networking目录

Apache,Tomcat,端口80,8080和其他东西的组合

想出来:使用别名 #3,而不是VirtualHost,因此:

Alias /myproject "C:/path/to/my/project" <Directory "C:/path/to/my/project"> Options Indexes FollowSymLinks MultiViews ExecCGI AllowOverride All Order allow,deny Allow from all </Directory>

完成您的需求清单。

1)制作目录:

mkdir c: xampp sites myproject

2)编辑c: windows system32 drivers etc hosts,使其包含以下行:

127.0.0.1 myproject

并将以下内容添加到c: xampp apache conf extra httpd-vhosts.conf中:

NameVirtualHost myproject:80 <VirtualHost myproject:80> DocumentRoot c:/xampp/sites/myproject Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Order allow,deny Allow from all </Directory>

3)将以下行添加到c: xampp apache conf httpd.conf的末尾:

Alias /myproject/ "/xampp/sites/myproject/" <Directory "/xampp/sites/myproject"> AllowOverride None Options None Order allow,deny Allow from all </Directory>

4)将DocumentRoot,Directory等放在c: xampp apache conf httpd.conf中以完成此操作。 作为参考,这些行将是:

DocumentRoot "/xampp/htdocs" <Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all </Directory> <Directory "/xampp/htdocs"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Order allow,deny Allow from all </Directory>

首先启用:Loadmodulee alias_module modules / mod_alias.so

<Ifmodulee alias_module> Alias /ddd "D:/prj/customer/www" <Directory "D:/prj/customer/www"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride all Order allow,deny Allow from all </Directory> </Ifmodulee>

测试WAMP 2.2及其工作:http:// localhost / ddd

NameVirtualHost myproject:80 <VirtualHost myproject:80>

</ Directory>

一定是:

NameVirtualHost myproject:80 <VirtualHost myproject:80>

</ VirtualHost>

问候;)

解决了这个问题。 它缺少目录标记。

NameVirtualHost myproject:80 <VirtualHost myproject:80> DocumentRoot "D:/Solution" <Directory "D:/Solution"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>

在httpd.conf中添加以下几行,必须作必要的修改:

<Ifmodulee alias_module> Alias /angular-phonecat "C:/DEV/git-workspace/angular-phonecat" </Ifmodulee> <Directory "C:/DEV/git-workspace/angular-phonecat"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride all Order allow,deny Allow from all Require all granted </Directory>

在重新启动Apache服务器之后,这对我的(Windows)XAMPP安装很有帮助。 我不得不添加“要求所有授予”,但其他方面与上述答案几乎相同。

以最简单的方式解决问题,减少步骤无需创建虚拟主机,只需更改目标目录的位置即可。

以下是我为配置所做的工作:我已经通过编辑C:/xampp/apache/conf/httpd.conf文件完成了我在httpd.conf文件中完成的Changings在ScriptAlias / cgi-bin / “C:/ XAMPP /阿帕奇)/”

Alias / projectXYZ“C:/ pathtomyproject”选项索引FollowSymLinks MultiViews ExecCGI AllowOverride所有命令允许,拒绝全部允许

Pathtomyproject =项目的完整路径

并更改了Document Root DocumentRoot的“C:/ pathtomyproject”

现在通过停止服务器重新启动Apache服务器。 我已经停止了Apache服务器,然后再次启动Apache服务器。

资料来源: http : //bytespedia.blogspot.com/2013/12/creating-virtual-directory-in-apache.html

总结

以上是小编为你收集整理的Apache的Windows虚拟目录configuration帮助全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

configurationnginx使用相同的URI将不同的文件返回给不同的authentication用户

configurationnginx使用相同的URI将不同的文件返回给不同的authentication用户

我正在使用Nginx在embedded式系统中提供静态文件,没有CGI后端。 我有多个用户名/密码的基本身份validation。 我想有一个特定的URI根据当前通过身份validation的用户的名称提供不同的内容。

例如,假设浏览器请求URI /index.html。 如果浏览器被authentication为用户“开发者”,那么它可以被提供给文件/index_developer.html。 如果浏览器被authentication为“pipe理员”,则可以将其提供给文件/index_administrator.html。

我只希望这个redirect发生在一小组文件上; 大部分将按现状提供服务。 我还需要阻止对实际文件的直接访问,以便没有人能够对系统进行最终运行。

在java web应用程序-websphere中获取Windows当前logging的用户

如何从文件系统中监视的共享文件夹中的文件中获取用户名

如何在login后在下一个表单中的标签上显示欢迎用户名?

Windows用户名最大长度

从以本地系统帐户启动的程序获取当前用户名

给定一个Linux用户名和密码如何testing它是否是一个有效的帐户?

从SessionID获取Windows用户名

psutil.WindowsService.username()返回空白

覆盖Windows环境variables值?

validation用户详细信息并自动loginWindows

首先,有$remote_user变量。

我已经结束了以下结构:

$ tree . ├── _auth │ ├── admin │ │ ├── f │ │ │ └── index.html │ │ ├── hello.html │ │ └── index.html │ └── user │ ├── f │ │ └── index.html │ └── index.html ├── f │ └── x.html ├── hello.html ├── test.html └── x └── index.html

和这个Nginx配置:

auth_basic "Restricted area"; auth_basic_user_file path/to/passwd/file; root /path/to/root; location / { try_files /_auth/$remote_user$uri /_auth/$remote_user$uri/index.html $uri $uri/index.html =404; } location /_auth/ { internal; }

所以请求/将在/_auth/USER/index.html结束,请求/test.html将服务于/test.html 。 请求/hello.html将为用户admin和/hello.html为其他任何用户提供/_auth/admin/hello.html 。

internal指令禁止直接访问/_auth/..

尽管我接受Alexy Ten的回答,但是由于他的洞察力让我在那里,我最终采用了一个稍微不同的方案。

不是让用户特定的文件驻留在一个完全独立的树中,而是选择让它们生存在通用文件的旁边,但添加了_user_<userName>_的标准前缀。 例如,我可能在webroot中有以下两个文件:

/scripts/menus.js

/scripts/_user_developer_menus.js

然后,如果以用户“developer”身份登录,则将为第二个文件提供对/scripts/menus.js的请求,但对于其他任何用户,第一个文件将被提供。

这是我的Nginx配置的核心:

location ~ "^.*/_user_[^/]*$" { internal; } location ~ "^(.*)/([^/]*)$" { auth_basic_user_file /opt/product/cfg/Nginx_conf/htpasswd; try_files $1/_user_${remote_user}_$2$is_args$args $1/_user_${remote_user}_$2/index.html$is_args$args $1/$2$is_args$args $1/$2/index.html$is_args$args =404; }

由于两个位置都是特定的(都是正则表达式),所以它们按顺序被搜索。 因此,第一个位置会阻止直接访问任何_user_<userName>_文件。 第二个位置与任何URL匹配,文件名保留在$1的路径以及文件名保留在$1 。 然后,try_files依次查找用户特定的文件,用户特定的目录,公用文件和公用目录,直到它放弃404错误。

简单的root /path/to/root/$remote_user是为我工作的。

注意:如果在auth_basic_user_file使用$document_root (如auth_basic_user_file $document_root/.htpasswd; ),那么.htpasswd文件应该位于所有子目录中,而不仅仅是根目录

$ tree -a . ├── .htpasswd ├── user1 │ ├── hello1 │ └── .htpasswd -> ../.htpasswd ├── user2 │ ├── hello2 │ └── .htpasswd -> ../.htpasswd └── user3 ├── hello3 └── .htpasswd -> ../.htpasswd

org.apache.commons.configuration.AbstractConfiguration的实例源码

org.apache.commons.configuration.AbstractConfiguration的实例源码

项目:incubator-servicecomb-java-chassis    文件:ConfigUtil.java   
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;
}
项目:incubator-servicecomb-java-chassis    文件:TestConfigUtil.java   
@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());
}
项目:incubator-servicecomb-java-chassis    文件:TestLoadbalanceHandler.java   
@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");
}
项目:incubator-servicecomb-java-chassis    文件:TestIsolationServerListFilter.java   
@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");
}
项目:incubator-servicecomb-java-chassis    文件:TestIsolationServerListFilter.java   
@After
public void tearDown() throws Exception {
  IsolationServerListFilter = null;
  loadBalancerStats = null;

  AbstractConfiguration configuration =
      (AbstractConfiguration) DynamicPropertyFactory.getbackingConfigurationSource();
  configuration.clearProperty("cse.loadbalance.isolation.continuousFailureThreshold");
}
项目:incubator-servicecomb-java-chassis    文件:TestIsolationServerListFilter.java   
@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());
}
项目:incubator-servicecomb-java-chassis    文件:TestIsolationServerListFilter.java   
@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());
}
项目:incubator-servicecomb-java-chassis    文件:TestHighwayClient.java   
@BeforeClass
public static void beforeCls() {
  ConfigUtil.installDynamicConfig();
  AbstractConfiguration configuration =
      (AbstractConfiguration) DynamicPropertyFactory.getbackingConfigurationSource();
  configuration.addProperty(REQUEST_TIMEOUT_KEY,2000);
}
项目:j1st-mqtt    文件:KafkaApplicationCommunicator.java   
@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);
}
项目:j1st-mqtt    文件:KafkabrokerCommunicator.java   
@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);
}
项目:j1st-mqtt    文件:KafkaCommunicator.java   
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();
}
项目:j1st-mqtt    文件:RedisSyncSingleStorage.java   
@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);
}
项目:j1st-mqtt    文件:RabbitMQHttpCommunicator.java   
@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");
    }
}
项目:cerberus-archaius-client    文件:ArchaiusCerberusUrlResolver.java   
/**
 * 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;
}
项目:jindy    文件:ArchaiusBaseFactory.java   
@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;
}
项目:mithqtt    文件:RedisSyncSingleStorageImpl.java   
@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);
}
项目:mithqtt    文件:RedisSyncSentinelStorageImpl.java   
@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);
}
项目:mithqtt    文件:RedisSyncMasterSlaveStorageImpl.java   
@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);
}
项目:spectator    文件:Plugin.java   
/** 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");
  }
}
项目:chassis    文件:PropertiesServlet.java   
@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();
    }
}
项目:chassis    文件:Application.java   
@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);
}
项目:chassis    文件:BootstrapConfiguration.java   
@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;
}
项目:spring-cloud-netflix    文件:ArchaiusAutoConfiguration.java   
@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));
        }
    }
}
项目:spring-cloud-netflix    文件:ArchaiusAutoConfiguration.java   
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);
    }
}
项目:ribbon    文件:SecureGetTest.java   
@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());
}
项目:googleads-java-lib    文件:ConfigurationHelperTest.java   
@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");
    }};
}
项目:MaduraConfiguration    文件:MaduraConfiguration.java   
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);
        }
    }
}
项目:incubator-servicecomb-java-chassis    文件:ConfigUtil.java   
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;
}
项目:incubator-servicecomb-java-chassis    文件:ConfigUtil.java   
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));
  }
}
项目:incubator-servicecomb-java-chassis    文件:ConfigUtil.java   
private static void duplicateServiceCombConfigToCse(ConcurrentCompositeConfiguration compositeConfiguration,AbstractConfiguration source,String sourceName) {
  duplicateServiceCombConfigToCse(source);

  compositeConfiguration.addConfiguration(source,sourceName);
}
项目:incubator-servicecomb-java-chassis    文件:ConfigUtil.java   
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);
}
项目:incubator-servicecomb-java-chassis    文件:ConfigurationspringInitializer.java   
@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;
}
项目:incubator-servicecomb-java-chassis    文件:TestConfigUtil.java   
@Test
public void testCreateDynamicConfigHasConfigCenter(
    @Mocked ConfigCenterConfigurationSource configCenterConfigurationSource) {
  AbstractConfiguration dynamicConfig = ConfigUtil.createDynamicConfig();
  Assert.assertEquals(DynamicWatchedConfiguration.class,((ConcurrentCompositeConfiguration) dynamicConfig).getConfiguration(0).getClass());
}
项目:incubator-servicecomb-java-chassis    文件:TestConfigUtil.java   
@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));
}
项目:incubator-servicecomb-java-chassis    文件:TestConfigUtil.java   
@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"));
}
项目:incubator-servicecomb-java-chassis    文件:TestMicroServiceInstance.java   
@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");
}
项目:incubator-servicecomb-java-chassis    文件:TestRegistry.java   
@BeforeClass
public static void initSetup() throws Exception {
  AbstractConfiguration dynamicConfig = ConfigUtil.createDynamicConfig();
  ConcurrentCompositeConfiguration configuration = new ConcurrentCompositeConfiguration();
  configuration.addConfiguration(dynamicConfig);
  configuration.addConfiguration(inMemoryConfig);

  ConfigurationManager.install(configuration);
}
项目:incubator-servicecomb-java-chassis    文件:TestSimpleTransactionControlFilter.java   
@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");
}
项目:j1st-mqtt    文件:RedisSyncMasterSlaveStorage.java   
@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);
}
项目:j1st-mqtt    文件:RedisSyncclusterStorage.java   
@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的实例源码

org.apache.commons.configuration.AbstractFileConfiguration的实例源码

项目:TNT4J    文件:FiletokenRepository.java   
@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;
    }
}
项目:artifactory_ssh_proxy    文件:TestOptions.java   
@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);
}
项目:MaduraConfiguration    文件:ReloadListener.java   
public void configurationChanged(ConfigurationEvent event)
{
    if (!event.isBeforeUpdate() && event.getType() == AbstractFileConfiguration.EVENT_RELOAD)
    {
        if (m_applicationContext instanceof AbstractRefreshableApplicationContext)
        {
            ((AbstractRefreshableApplicationContext)m_applicationContext).refresh();
        }
    }
}

今天关于Apacheconfiguration帮助 – 为什么不同的进程“在不同的时区”?不同进程所执行的代码也不同的讲解已经结束,谢谢您的阅读,如果想了解更多关于Apache的Windows虚拟目录configuration帮助、configurationnginx使用相同的URI将不同的文件返回给不同的authentication用户、org.apache.commons.configuration.AbstractConfiguration的实例源码、org.apache.commons.configuration.AbstractFileConfiguration的实例源码的相关知识,请在本站搜索。

本文标签: