code: @Override
  	public void reconfigure() {
  
  		// This method is invoked when properties change.
  		// It is not related to life cycle (start/stop).
  		this.logger.info( "Reconfiguration requested in agent " + getAgentId());
  		if( this.messagingClient == null ) {
  			this.logger.info( "The agent has not yet been started. Configuration is dropped." );
  			return;
  		}
  
  		// Update the messaging connection
  		this.messagingClient.setApplicationName( this.applicationName );
  		this.messagingClient.setScopedInstancePath( this.scopedInstancePath );
  		this.messagingClient.setIpAddress( this.ipAddress );
  		this.messagingClient.setNeedsModel( needsModel());
  		this.messagingClient.setDomain( this.domain );
  		this.messagingClient.switchMessagingType( this.messagingType);
  
  		// Deal with injected configurations
  		AgentUtils.injectConfigurations(
  				this.karafEtc,
  				this.applicationName,
  				this.scopedInstancePath,
  				this.domain,
  				this.ipAddress );
  
  		this.logger.info( "The agent was successfully (re)configured." );
  	}
docs: This method reconfigures the agent.
  <p>
  It is invoked by iPojo when the configuration changes.
  It may be invoked before the start() method is.
  </p>