private synchronized void init() {
		Properties prop = new Properties();
		FileInputStream is = null;
		try {
			is = new FileInputStream("./config.properties");
			prop.load(is);

			if(prop.containsKey(KEY_POOL_SIZE))
				this.Thread_Pool_Size = Integer.parseInt(prop.getProperty(KEY_POOL_SIZE));
			if(prop.containsKey(KEY_BEAN_CONFIG))
				this.beanConfigFile = prop.getProperty(KEY_BEAN_CONFIG);
			if(prop.containsKey(KEY_CACHE_EXPIRE))
				this.cacheItemExpires = Integer.parseInt(prop.getProperty(KEY_CACHE_EXPIRE));
			if(prop.containsKey(KEY_CACHE_NUMITEM))
				this.numCacheItem = Integer.parseInt(prop.getProperty(KEY_CACHE_NUMITEM));
			if(prop.containsKey(KEY_AUTORESTART))
				this.autoRestart = Boolean.parseBoolean(prop.getProperty(KEY_AUTORESTART));
			
		} catch (Exception e) {
			log.info("Cannot load configuration, use default");
		} finally {
			if(is != null ) try {is.close(); } catch(IOException ex) {}
		}
	}