项目中通过system.property共享配置信息

配置web.xml

  <!-- 用于加载变量 -->
	  <listener>
	    <listener-class>com.cs2c.bus.listener.LoadSysVariables</listener-class>
	  </listener>

该listener代码:

package com.cs2c.cobra.common.listener;

import java.io.IOException;
import java.util.Properties;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

/**
 * 
 * @author wangz
 * 
 *  用于初始化系统变量,比如各种url等,JAR包中会从SYS中取,因此在此处设置
 *   
 *   2012-05-30
 */
public class LoadSysVariables implements ServletContextListener{

	private static final String SYS_CONFIG_FILE_NAME = "/config.properties";	
	private static final String COBRA_SERVER_URL_NAME= "cobra.server.url";	
	private static final String COBRA_ESBSERVER_URL_NAME= "sys_cobra_esbserver_url";	
	private static final String GLUSTER_ESBSERVER_URL_NAME = "gluster.server.url";
	@Override
	public void contextDestroyed(ServletContextEvent arg0) {
		
	}

	@Override
	public void contextInitialized(ServletContextEvent arg0) {
		Properties props = new Properties();
		try {
			props.load(this.getClass().getResourceAsStream(SYS_CONFIG_FILE_NAME));
		} catch (IOException e) {
			e.printStackTrace();
		}
		System.setProperty(COBRA_ESBSERVER_URL_NAME,props.getProperty(COBRA_ESBSERVER_URL_NAME).toString());
		System.setProperty(GLUSTER_ESBSERVER_URL_NAME,props.getProperty(GLUSTER_ESBSERVER_URL_NAME).toString());
		System.setProperty("sys_cobra_conf_server_url",props.getProperty("sys_cobra_conf_server_url").toString());
	}

}

config.properties文件放在class的根目录下既可。


客户端中是从system里读配置,如果读取到,则按照读取到的值,读取不到则使用默认值,例如:


import java.net.URI;

import javax.ws.rs.core.UriBuilder;

import com.cs2c.cobra.core.constants.CobraRESTConstants;
import com.cs2c.restful.jersey.client.AbstractHttpClient;
import com.cs2c.restful.jersey.utils.ClientConstants;
/**
 * 监控数据的ESB的client
 * @author wz
 *  2012-05-24
 */
public abstract class AbstractCobraEsbClient extends AbstractHttpClient {

	public URI getServerBaseURI() {
		return UriBuilder.fromUri(getBaseURL()).build();
	}

	private String getBaseURL() {
		// remove the platform path (e.g. /linux.gtk.x86_64) from the URL
		return System.getProperty(CobraRESTConstants.RESOURCE_BASE_URL_NAME,
				"http://10.1.83.29:8083");
	}
}



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

day walker

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值