1. 20 11月, 2019 1 次提交
  2. 19 11月, 2019 1 次提交
    • R
      Use method signature to refine RSocket @MessageMapping · 842b424a
      Rossen Stoyanchev 提交于
      Before this change an @MessageMapping could be matched to any RSocket
      interaction type, which is arguably too flexible, makes it difficult to
      reason what would happen in case of a significant mismatch of
      cardinality, e.g. request for Fire-And-Forget (1-to-0) mapped to a
      method that returns Flux, and could result in payloads being ignored,
      or not seen unintentionally.
      
      This commit checks @ConnectMapping method on startup and rejects them
      if they return any values (sync or async). It also refines each
      @MessageMapping to match only the RSocket interaction type it fits
      based on the input and output cardinality of the handler method.
      Subsequently if a request is not matched, we'll do a second search to
      identify partial matches (by route only) and raise a helpful error that
      explains which interaction type is actually supported.
      
      The reference docs has been updated to explain the options.
      
      Closes gh-23999
      842b424a
  3. 09 7月, 2019 1 次提交