Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Commits on Jul 23, 2015
  1. AMQP-513: Update to Gradle 2.5

    authored
    JIRA: https://jira.spring.io/browse/AMQP-513
    
    Also generate jacoco html coverage reports.
  2. @artembilan

    AMQP-512: Delete Test Queues; Close Connections

    authored artembilan committed
    JIRA: https://jira.spring.io/browse/AMQP-512
    
    Ensure test queues are removed after tests.
    
    Some tests relied on the queues existing already.
    
    Also make sure connections are closed when tests complete.
    
    Use Docker on Travis
Commits on Jul 21, 2015
  1. AMQP-511: Support SpEL in @SendTo

    authored
    JIRA: https://jira.spring.io/browse/AMQP-511
    
    Previously, only literals were supported in `@SendTo` values.
    
    Add support for SpEL expressions (`#{...}`).
Commits on Jul 8, 2015
  1. @wilkinsona

    Use the latest version of the Spring IO Plugin

    wilkinsona authored
    Spring IO Platform 2.0 will remove the managed versions .properties
    file as support for it has been removed in Spring Boot 1.3.
    
    This commit moves the build onto a new version of the Spring IO Plugin
    that uses the Maven bom rather than the properties file.
Commits on Jun 29, 2015
  1. @artembilan

    AMQP-507: Add AmqpMessageReturnedException

    authored artembilan committed
    JIRA: https://jira.spring.io/browse/AMQP-507
    
    When `mandatory` is true, throw an exception on send and reply methods
    if the message cannot be delivered.
  2. AMQP-499: Make WARN Log Configurable

    authored
    JIRA: https://jira.spring.io/browse/AMQP-499
    
    The previous fix was incomplete. The listener container also
    emits a WARN log when the queue cannot be consumed due to exclusivity.
    
    Provide a mechanism to customize that log too.
  3. @artembilan

    AMQP-509: Add Consumer Failure Events

    authored artembilan committed
    JIRA: https://jira.spring.io/browse/AMQP-509
    
    Publish application events when listener container consumers fail.
    
    Fix JavaDocs typo.
  4. @artembilan
Commits on Jun 26, 2015
  1. AMQP-506: Publisher Confirms Concurrency

    authored
    JIRA:https://jira.spring.io/browse/AMQP-506
    
    `RabbitTemplate` provides a method `getUnconfirmed` to get aged
    non-confirmed correlation data.
    
    This was not thread-safe.
    
    While the `pendingConfirms` objects in `RabbitTemplate` and `PublisherCallbackChannelImpl`
    are concurrent hash maps, they are maps of maps with the inner maps being
    `Collections.synchronizedSortedMap`. While iterating over these maps, they must be
    synchronized.
    
    Add a test case to reproduce the exception and verify the problem is resovled.
Commits on Jun 25, 2015
  1. AMQP-505: Add setUri() method to ConnectionFactory

    Steve Powell authored committed
    Previously the setUri() method on rabbitmq.ConnectionFactory was not exposed
    to the CachingConnectionFactory nor the SingleConnectionFactory. This change
    adds this method to the AbstractConnectionFactory, which is then inherited by
    the two implementation classes.
    
    A constructor taking the URI is added to CachingConnectionFactory and also to
    the SingleConnectionFactory to short-circuit the construction even further.
    
    AMQP-505: Polishing
Commits on Jun 24, 2015
  1. @artembilan

    AMQP-504: Update to RabbitMQ 3.5.3 Client

    authored artembilan committed
    JIRA: https://jira.spring.io/browse/AMQP-504
    
    `TimeoutException`, deprecations.
    
    Also, the JDK `javac` now seems to honor `@SuppressWarnings("deprecation")` - remove the lint `-deprecation` option
  2. @artembilan

    AMQP-503: Add Blocking Receive to RabbitTemplate

    authored artembilan committed
    JIRA: https://jira.spring.io/browse/AMQP-503
    
    Now that the `QueueingConsumer` is no longer deprecated, add
    `receiveTimeout` to the `RabbitTemplate` to allow for blocking `receive` operations.
    
    AMQP-503: Polishing; PR Comments
  3. @artembilan

    AMQP-497: Declare Collection<Declarable> elements

    authored artembilan committed
    JIRA: https://jira.spring.io/browse/AMQP-497
    
    Allow `@Bean` declarations that return a collection of `Declarable`
    (`Exchange`, `Queue`, `Binding`) to be declared by `RabbitAdmin`.
    
    Polishing to code and docs
  4. @artembilan

    AMQP-499: Improve Channel Close Logging

    authored artembilan committed
    JIRA: https://jira.spring.io/browse/AMQP-499
    
    Reduce to INFO for exclusive queue consume errors.
    
    Add strategy to customize logging.
    
    AMQP-499: Polishing, PR Comments
Commits on Jun 19, 2015
  1. @artembilan

    AMQP-502: Fix Fanout @Binding Declaration

    authored artembilan committed
    JIRA: https://jira.spring.io/browse/AMQP-502
    
    Queues are bound to fanout exchanges with no routing key.
    The `RabbitListenerAnnotationBeanPostProcessor` incorrectly set the key to `null` instead of `""`.
    
    Add a test for a fanout exchange.
Commits on Jun 2, 2015
  1. @artembilan
Commits on May 29, 2015
  1. AMQP-500: Configurable SSL Algo, No Properties

    authored
    JIRA: https://jira.spring.io/browse/AMQP-500
    
    Enable algorithm selection when not using certificates.
Commits on May 12, 2015
  1. AMQP-498: Adjust Consumers With ChannelTransacted

    authored
    JIRA: https://jira.spring.io/browse/AMQP-498
    
    In earlier versions, the while loop to drain the queue took an early exit
    when the channel was transacted. (This was actually incorrect since message
    delivery is not transactional, only acks).
    
    AMQP-388 introduced a new OR condition on the loop: `consumer.hasDelivery()`.
    
    This effectively made the `continuable` boolean in the OR condition irrelevant.
    This boolean was true if messages were received and the channel was not transactional.
    
    Another side effect was the `continuable` boolean was incorrectly used to adjust the consumers
    if the workload demanded. Instead, that decision should have depended just on whether
    messages were received; whether the channel is transacted is irrelevent.
    
    Remove the `continuable` boolean; fix the while loop and use a new boolean `receivedOk` which
    indicates whether messages were received and so whether we should consider increasing the
    consumers.
    
    Add a test to verify consumers are adjusted for transactional channels.
Commits on May 11, 2015
  1. @artembilan

    AMQP-496: CCF: Do Not Connect After AC Close

    artembilan authored committed
    JIRA: https://jira.spring.io/browse/AMQP-496
    
    Long lived message listener performs `channel.basicAck` (`channel.txCommit()`)
    too late, after stopping the container and connectionFactory.
    
    Since the closed `applicationContext` is in stale state already, mark `CachingConnectionFactory`
    as `stopped` after receiving `ContextClosedEvent` and don't allow a new `createConnection()`.
Commits on May 7, 2015
  1. @spring-buildmaster
  2. @spring-buildmaster
  3. @artembilan

    AMQP-427: Add `BackOff` for Listener Container

    artembilan authored committed
    JIRA: https://jira.spring.io/browse/AMQP-427
    
    To have more control over `recoveryInterval` add `BackOff` injection support
     for the `SimpleMessageListenerContainer`.
    When the `backOffExecution` reaches `BackOffExecution.STOP`, stop the container for further recovery to prevent infinite log records.
    
    PR comments and Docs
  4. AMQP-444: Fix Package Tangle

    authored
    JIRA: https://jira.spring.io/browse/AMQP-444
    
    Move `DelegatingInvocableHandler` to the `adapter` package to avoid
    backwards reference from `HandlerAdapter` to `listener` package.
Commits on May 6, 2015
  1. Reference Polishing

    authored
  2. @artembilan

    AMQP-481: Register `@RabbitListener` for `@Lazy`

    artembilan authored
    JIRA: https://jira.spring.io/browse/AMQP-481
    
    Previously the `@Lazy` components haven't been registered with `MessageListenerContainer`,
    because `RabbitListenerEndpointRegistrar` has done that from its `afterPropertiesSet()`.
    
    Add logic to `registerListenerContainer` on demand from the `RabbitListenerEndpointRegistrar#registerEndpoint`
    
    **Cherry-pick to 1.4.x**
Commits on May 1, 2015
Commits on Apr 30, 2015
  1. @artembilan

    AMQP-444: Multi-Method @RabbitListener

    authored artembilan committed
    JIRA: https://jira.spring.io/browse/AMQP-444
    
    Enable class-level `@RabbitListener` annotations, allowing for selection
    of indidividual `@RabbitHandler` methods based on `Message<?>` payload
    type. Method selection must be unambiguous.
    
    Fix JDK 8 Dependency
    
    Use `MethodParameter` instead of JDK 8 `method.getParameterAnnotations()`.
    
    Introduce @RabbitHandler
    
    Polishing - PR Comments
    
    * Make `com.rabbitmq:http-client` dependency as `optional`
  2. @artembilan

    AMQP-473: RabbitManagementTemplate

    authored artembilan committed
    JIRA: https://jira.spring.io/browse/AMQP-473
    
    Docs, Polishing, Extract Interface
    
    Fix typos and add `whats-new.adoc` note
  3. @artembilan

    AMQP-416: Deprecate id on <listener-container/>

    authored artembilan committed
    JIRA: https://jira.spring.io/browse/AMQP-416
    
    Use `<listener/>` id attribute alone.
    
    * Fix a couple typos in `whats-new.adoc`
    * Change the wrong mentioning for `<rabbit:message-listener-container/>` to the correct `<rabbit:listener-container/>`
Commits on Apr 27, 2015
  1. @artembilan

    AMQP-443: Auto-Declare @RabbitListener Queues

    authored artembilan committed
    JIRA: https://jira.spring.io/browse/AMQP-443
    
    Provide a mechanism to auto-declare/bind the queues for a `@RabbitListener` annotation,
    if a `RabbitAdmin` is defined in the application context.
    
    AMQP-433: Docs and Polish
    
    Support anonymous queues; add docs.
    
    AMQP-443: Polishing and What's New
  2. @artembilan

    AMQP-492: Enhance Timeout Exception (RPC)

    authored artembilan committed
    JIRA: https://jira.spring.io/browse/AMQP-492
    
    Add method name and arguments to timeout exception in Spring Remoting proxy.
  3. @artembilan

    AMQP-455: Pub. Confirms with Send and Receive

    authored artembilan committed
    JIRA: https://jira.spring.io/browse/AMQP-455
    
    Support publisher confirms on `sendAndReceive` operations.
Something went wrong with that request. Please try again.