public void updated(Map<String,Object> properties)
	{
		s_logger.debug("updated...");		
		m_properties = properties;
		if(m_properties!=null){
			if(m_properties.get("enabled") != null){
				if(m_properties.get("enabled") != null){
					m_configEnabled = (Boolean) m_properties.get("enabled");
				}
			}
			if(!m_configEnabled)
				return;
			if(m_properties.get("pingInterval") != null){
				pingInterval = (Integer) m_properties.get("pingInterval");
				if(m_future!=null){
					m_future.cancel(false);
					while(!m_future.isDone()){
						try {
							Thread.sleep(500);
						} catch (InterruptedException e) {
							e.printStackTrace();
						}
					}
				}
				m_future=m_executor.scheduleAtFixedRate(new Runnable() {
					public void run() {
						Thread.currentThread().setName(getClass().getSimpleName());
						if(m_configEnabled)
							doWatchdogLoop();
					}
				}, 0, pingInterval, TimeUnit.MILLISECONDS);		
			}
		}
	}