code: public boolean allowLargeMessage(long size) {
          if (!getConfig().areMessagesLimited()) {
              // no limits on messages, so default to yes
              return true;
          }
  
          if (HttpConfigConstants.UNLIMITED == getConfig().getLargerBufferSize()) {
              // no second upper limit, the first is a hard ceiling
              // unlimited is the same as not-set
              return false;
          }
          // otherwise compare sizes
          if (size > getConfig().getLargerBufferSize()) {
              return false;
          }
  
          // if the current setting is true, then change it to false for anybody
          // else checking and let the last caller in. If it is false, then let
          // them know that.
          synchronized (this.key) {
              if (this.allowLargeMessage) {
                  this.allowLargeMessage = false;
                  return true;
              }
              return false;
          }
      }
docs: Query whether a large message is allowed or not at this time. This means
  the factory checks whether all of the created channels satisfy the
  criteria for allowing a large message into the system.
  <p>
  This is intended for the 31-bit z/os install where one large message is allowed into the system beyond the standard channel level limit; however, it might be used if a user
  configures the factory config with the large buffer property.
  
  @param size
  of message
  @return boolean (true means yes, false means no and the caller should
  take steps to prevent the message from being processed fully)