public String save()
{
try
{
// replicate local state to producer state
ProducerConfiguration currentlyPersistedConfiguration = getConfiguration();
LocalProducerConfiguration localConfiguration = getLocalConfiguration();
ProducerRegistrationRequirements registrationRequirements = currentlyPersistedConfiguration.getRegistrationRequirements();
registrationRequirements.setRegistrationRequiredForFullDescription(localConfiguration.isRegistrationRequiredForFullDescription());
registrationRequirements.setRegistrationRequired(localConfiguration.isRegistrationRequired());
registrationRequirements.reloadPolicyFrom(localConfiguration.getRegistrationPolicyClassName(), localConfiguration.getValidatorClassName());
registrationRequirements.setRegistrationProperties(localConfiguration.getRegistrationProperties());
currentlyPersistedConfiguration.setUsingStrictMode(localConfiguration.isUsingStrictMode());
getConfigurationService().saveConfiguration();
// force a reload local state
localProducerConfiguration = null;