code: @SuppressWarnings("unchecked")
      public Dictionary<String, String> updateDictionaryConfig(Dictionary<String, String> dictionary, boolean returnCopy)
      {
          if (returnCopy)
              dictionary = BaseBundleActivator.putAll(dictionary, null);
          if (dictionary == null)
              dictionary = new Hashtable<String, String>();
          try {
              String servicePid = dictionary.get(BundleConstants.SERVICE_PID);
              if (servicePid != null)
              {
                  ServiceReference caRef = context.getServiceReference(ConfigurationAdmin.class.getName());
                  if (caRef != null)
                  {
                      ConfigurationAdmin configAdmin = (ConfigurationAdmin)context.getService(caRef);
                      Configuration config = configAdmin.getConfiguration(servicePid);
  
                      configProperties = config.getProperties();
                      if (configProperties == null)
                          configProperties = new Hashtable<String, String>();
                      // First, move all settings to dictionary
                      dictionary = BaseBundleActivator.putAll(configProperties, dictionary);
                      dictionary.put(BaseWebappServlet.ALIAS, this.calculateWebAlias(dictionary));
                      // Next, move all saveable settings to the config dictionary (and save them)
                      Enumeration<String> keys = dictionary.keys();
                      while (keys.hasMoreElements())
                      {
                          String key = keys.nextElement();
                          if (isPersistentProperty(key))
                              configProperties.put(key, dictionary.get(key)); // Make sure all the fully qualified keys are persisted
                      }
                      // push the configuration dictionary to the ConfigAdminService
                      config.update(configProperties);
                  }
              }
              if (dictionary.get(BaseWebappServlet.ALIAS) == null)
                  dictionary.put(BaseWebappServlet.ALIAS, this.calculateWebAlias(dictionary));
          } catch (IOException e) {
              e.printStackTrace();
          }
          return dictionary;
      }
docs: Get the (persistent) configuration dictionary from the service manager.
  @return