1. 15 5月, 2014 6 次提交
    • S
      Avoid JMSException in listener execution · 6560aed1
      Stephane Nicoll 提交于
      This commit avoids throwing JMSException from the listener execution
      as this is not allowed per spec. Our SessionAwareMessageListener
      gives a callback that can throw JMSException and we have "abused" it
      so far.
      
      Typical message processing goes in those 3 steps:
      * Unmarshall the javax.jms.Message to the requested type
      * Invoke the actual user method (including processing of method
        arguments)
      * Send a reply message, if any
      
      Those three steps have been harmonized so that they don't throw a
      JMSException anymore. For the later case, introduced
      ReplyFailureException as a general exception indicating the
      reply message could not have been sent.
      
      Issue: SPR-11778
      6560aed1
    • J
      Polishing · b0f0d2f2
      Juergen Hoeller 提交于
      b0f0d2f2
    • J
      ResultSetWrappingSqlRowSet preserves first matching column per name (as... · 0728e32e
      Juergen Hoeller 提交于
      ResultSetWrappingSqlRowSet preserves first matching column per name (as defined in ResultSet's javadoc)
      
      Issue: SPR-11786
      0728e32e
    • J
      551950cd
    • B
      Polish · f651065b
      Brian Clozel 提交于
      f651065b
    • B
      Fix RestTemplate documentation for gzip encoding · a072b3f2
      Brian Clozel 提交于
      Prior to this commit, RestTemplate's documentation advised to a
      DecompressingHttpClient decorator along with Apache's HttpClient in
      order to support gzipped responses.
      
      Since this is now deprecated as of Apache HttpClient 4.3+, this commits
      update the documentation with HttpClientBuilder.
      a072b3f2
  2. 14 5月, 2014 1 次提交
  3. 13 5月, 2014 6 次提交
  4. 12 5月, 2014 1 次提交
    • R
      Add WebSocket scope · 2c4cbb61
      Rossen Stoyanchev 提交于
      This change adds support for a custom "websocket" scope.
      
      WebSocket-scoped beans may be injected into controllers with message
      handling methods as well as channel interceptor registered on the
      "inboundClientChannel".
      
      Issue: SPR-11305
      2c4cbb61
  5. 10 5月, 2014 2 次提交
  6. 09 5月, 2014 4 次提交
    • S
      Add BackOffExecution to isolate state · 89fc3c02
      Stephane Nicoll 提交于
       This commit separates the BackOff configuration from an actual
       execution. BackOffExecution now contains all the state of a
       particular execution and BackOff is only meant to start (i.e.
       create) a new execution.
      
       The method "reset" has been removed as its no longer necessary:
       when an execution does not need to be used for a given operation
       anymore it can be simply discarded.
      
       Issue: SPR-11746
      89fc3c02
    • S
      Add back-off attribute to JMS namespace · 49040a29
      Stephane Nicoll 提交于
       This commit adds a "back-off" attribute to the jms:listener-container
       element so that a BackOff instance can be provided for users of the
       XML namespace.
      
       Issue: SPR-11746
      49040a29
    • S
      Configurable back off for listener recovery · 6a048312
      Stephane Nicoll 提交于
      Prior to this commit, DefaultMessageListenerContainer was recovering
      on failure using a fixed time interval, potentially in an infinite way.
      
      This commit adds an extra "backoff" property to the container that
      permits to fine tune the recovery interval using a BackOff instance.
      
      FixedBackOff provides a fixed interval between two attempts and a
      maximum number of retries. ExponentialBackOff increases an initial
      interval until a maximum interval has been reached. A BackOff instance
      can return a special "STOP" time value that indicates that no further
      attemps should be made. DefaultMessageListenerContainer uses this
      value to stop the container.
      
      protected method "sleepInbetweenRecoveryAttempts" has been renamed
      to "applyBackOff" and now returns a boolean that indicate if the
      back off has been applied and a new attempt should now be made.
      
      Issue: SPR-11746
      6a048312
    • R
      Allow use of @SendToUser even w/o authenticated user · 97fb308b
      Rossen Stoyanchev 提交于
      Before this change, subscribing to a user destination and use of
      @SendToUser annotation required an authenticated user.
      
      This change makes it possible to subscribe to a user destination from
      WebSocket sessions without an authenticated user. In such cases the
      destination is associated with one session only rather than with a
      user (and all their sessions).
      
      It is then also possible to send a message to a user destination
      via "/user/{sessionId}/.." rather than "/user/{user}/...".
      
      That means @SendToUser works relying on the session id of the input
      message, effectively sending a reply to destination private to the
      session.
      
      A key use case for this is handling an exception with an
      @MessageExceptionHandler method and sending a reply with @SendToUser.
      
      Issue: SPR-11309
      97fb308b
  7. 08 5月, 2014 4 次提交
  8. 07 5月, 2014 6 次提交
    • S
      JMS documentation update · 7b7fe9aa
      Stephane Nicoll 提交于
      This commit updates the documentation of the JMS chapter
      with the newly annotated endpoint infrastructure
      7b7fe9aa
    • S
      Avoid ConcurrentModificationException · 98738c0b
      Sebastien Deleuze 提交于
      Removal of cached destination is now moved outside the for loop
      that removes subscriptions to avoid ConcurrentModificationException.
      
      Also since updateCache is a LinkedHashMap with accessOrder=true,
      a simple access with updateCache.get() modify the map.
      By iterating over updateCache.entrySet(), we avoid this update.
      
      Issue: SPR-11755
      98738c0b
    • R
      Support path segment URI var expansion in UrlTag · 426b77b8
      Rossen Stoyanchev 提交于
      Before this change UrlTag expanded URI vars and encoded them using
      UriUtils.encodePath.
      
      This change makes it possible to expand using
      UriUtils.encodePathSegment, which means a "/" is encoded as "%2F".
      
      To expand with path segment semantics, prefix the URI var name "/":
      
      <spring:url value="/url/path/{/var}">
          <spring:param name="var" value="my/Id" />
      </spring:url>
      
      Issue: SPR-11401
      426b77b8
    • R
      Add naming strategy for @mvc request mappings. · 9d479fea
      Rossen Stoyanchev 提交于
      This change adds a strategy for assigning a default name to an
      @RequestMapping controller method. The @RequestMapping annotation
      itself now has a name attribute allowing the explicit assignment
      of a mapping name.
      
      This is mainly intended for use in EL expressions in views. The
      RequestContext class now provides a getMvcUrl method that internally
      delegates to MvcUriComponents to look up the handler method.
      
      See the Javadoc of MvcUriComponents.fromMappingName.
      
      Issue: SPR-5779
      9d479fea
    • J
      IdToEntityConverter defensively handles access to getDeclaredMethods · 381ccde4
      Juergen Hoeller 提交于
      Issue: SPR-11758
      381ccde4
    • J
      bea34ea4
  9. 06 5月, 2014 5 次提交
  10. 05 5月, 2014 1 次提交
  11. 03 5月, 2014 1 次提交
  12. 02 5月, 2014 3 次提交