code: @Override
      public synchronized ChannelData updateChannelProperty(String channelName, Object propertyKey, Object propertyValue) throws ChannelException {
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
              Tr.entry(tc, "updateChannelProperty");
          }
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
              Tr.debug(tc, "channelName=" + channelName + "propertyKey=" + propertyKey + ", propertyValue=" + propertyValue);
          }
          if (null == channelName) {
              throw new InvalidChannelNameException("Input channel name is null");
          }
          if (null == propertyKey || null == propertyValue) {
              throw new ChannelException("Null property key or value found.");
          }
  
          // Find the existing channel config
          ChannelDataImpl channelData = (ChannelDataImpl) channelDataMap.get(channelName);
          if (null == channelData) {
              throw new InvalidChannelNameException("Unable to find input channel, " + channelName);
          }
  
          // Update the property bag. Note this may throw an exception.
          channelData.setProperty(propertyKey, propertyValue);
          // Update each running channel that is using this parent channel data
          // object.
          updateRunningChannels(channelData);
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
              Tr.exit(tc, "updateChannelProperty");
          }
          return channelData;
      }
docs: /*
  @see
  com.ibm.wsspi.channelfw.ChannelFramework#updateChannelProperty(java.lang
  .String, java.lang.String, java.lang.Object)