Skip to content

Merge 5.x into main, resolve conflicts #694

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 340 commits into from
Jul 3, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
340 commits
Select commit Hold shift + click to select a range
5508d2c
Remove performance test
acogoluegnes Jan 7, 2019
abcefaf
Set current year in copyright
acogoluegnes Jan 14, 2019
eed81cb
Bump Jackson dependency to 2.9.8
michaelklishin Jan 17, 2019
16e3848
Fix Mockito test on Java 13
acogoluegnes Jan 22, 2019
ef34291
Bump test dependencies
acogoluegnes Jan 22, 2019
5c602ee
Bump Micrometer to 1.1.2 and Metrics to 4.0.5
acogoluegnes Jan 22, 2019
d7aad18
[maven-release-plugin] prepare release v5.6.0.RC1
Jan 23, 2019
93d001a
[maven-release-plugin] prepare for next development iteration
Jan 23, 2019
2f864fb
Set release version to 5.6.0.RC2
acogoluegnes Jan 23, 2019
ca08355
Set release version to 5.6.0
acogoluegnes Jan 25, 2019
b72aa53
[maven-release-plugin] prepare release v5.6.0
Jan 25, 2019
152bf81
[maven-release-plugin] prepare for next development iteration
Jan 25, 2019
3853424
Set release version to 5.7.0.RC1
acogoluegnes Jan 25, 2019
68d55d1
Fix Javadoc
acogoluegnes Jan 25, 2019
9335d45
spelling: concurrency
jsoref Feb 12, 2019
226b332
spelling: connection
jsoref Feb 12, 2019
e597202
spelling: exchange
jsoref Feb 12, 2019
6568467
spelling: execute
jsoref Feb 12, 2019
03ec30e
spelling: fulfill
jsoref Feb 12, 2019
ebfd620
spelling: omitted
jsoref Feb 12, 2019
e4670da
spelling: protocol
jsoref Feb 13, 2019
d66c8e6
spelling: receive
jsoref Feb 13, 2019
6bb5fcb
spelling: targeting
jsoref Feb 13, 2019
0cec539
spelling: topology
jsoref Feb 13, 2019
b8cb98b
Improve logging for TLS connections
acogoluegnes Feb 11, 2019
ebb82ed
Add NIO test case for TLS connection info logging
acogoluegnes Feb 13, 2019
f3a50ed
Fix test with NioParams correct usage for this branch
acogoluegnes Feb 13, 2019
ba0434e
Update a few tests to explicitly delete queues
michaelklishin Feb 28, 2019
b6c5f8a
Squash a few more IDEA warnings
michaelklishin Feb 28, 2019
3242f7a
Update more tests to explicitly delete queues
michaelklishin Feb 28, 2019
082c2f9
Change queue names between test methods
acogoluegnes Mar 1, 2019
74a9362
URL Cleanup
spring-operator Mar 12, 2019
69f3d3c
Squash a few warnings in tests
acogoluegnes Mar 15, 2019
b0a599c
Track connections left open in tests
acogoluegnes Mar 15, 2019
4c95c60
URL Cleanup
spring-operator Mar 16, 2019
2c8c80d
Merge pull request #457 from spring-operator/polish-urls-build-5.x.x-…
michaelklishin Mar 16, 2019
f2a61d7
URL Cleanup
spring-operator Mar 20, 2019
eab59eb
URL Cleanup
spring-operator Mar 21, 2019
be57b26
Merge pull request #548 from spring-operator/polish-urls-apache-licen…
acogoluegnes Mar 21, 2019
6081628
Log warning when receiving basic.cancel for unknown consumer
acogoluegnes Mar 22, 2019
365dd22
Add test for Channel#basicCancel with unknown consumer tag
acogoluegnes Mar 22, 2019
e49f66d
Add comment to explain decision tree
acogoluegnes Mar 22, 2019
953d255
Bump dependencies
acogoluegnes Apr 2, 2019
bb8f6ed
Bump test dependencies
acogoluegnes Apr 2, 2019
e79ed4d
[maven-release-plugin] prepare release v5.7.0.RC1
Apr 2, 2019
9f2dffe
[maven-release-plugin] prepare for next development iteration
Apr 2, 2019
1928ce8
Set release version to 5.7.0
acogoluegnes Apr 5, 2019
57aa724
[maven-release-plugin] prepare release v5.7.0
Apr 5, 2019
01f1900
[maven-release-plugin] prepare for next development iteration
Apr 5, 2019
9ef2462
Bump Maven to 3.6.1
acogoluegnes Apr 24, 2019
d6a188c
Set release version to 5.8.0.RC1
acogoluegnes Apr 24, 2019
54ed420
Use rabbitmqctl to command secondary node
acogoluegnes May 14, 2019
346f6f2
Lower log level for tests
acogoluegnes May 14, 2019
87723e7
Disable hanging test
acogoluegnes May 14, 2019
97ebf21
Fix hanging test
acogoluegnes May 15, 2019
8188914
Handle exception in NIO loop to avoid abrupt termination
acogoluegnes May 16, 2019
e3c68c3
Increase TTL in dead lettering tests
acogoluegnes May 23, 2019
23525b6
Bump Jackson to 2.9.9
acogoluegnes May 23, 2019
4191a84
Correct JavaDoc for a couple of methods
michaelklishin Jun 16, 2019
904c5b4
Change # of bits ValueWriter checks for BigDecimal
changlinli Jun 28, 2019
e3ceed7
Add basic test case for fixing 617
changlinli Jun 28, 2019
e26c858
Add additional fix for not checking scale
changlinli Jun 28, 2019
693503a
Remove redundant queues from tests
changlinli Jun 28, 2019
2671fff
Add a test to write/read BigDecimal
acogoluegnes Jun 28, 2019
8ad9726
Fix comment in BigDecimal serialization
acogoluegnes Jun 28, 2019
d5b0c4e
Bump Micrometer and Metrics
acogoluegnes Jul 1, 2019
c5725ea
Bump Mockito
acogoluegnes Jul 1, 2019
ad6a703
Bump Jackson to 2.9.9.1
acogoluegnes Jul 23, 2019
969c0a7
Bump Mockito to 3.0.0
acogoluegnes Jul 23, 2019
5d9573c
Mention dependency management in JacksonJsonRpcMapper
acogoluegnes Jul 23, 2019
374d89f
Bump Jackson to 2.9.9.3
acogoluegnes Aug 13, 2019
b41d379
Merge pull request #623 from rabbitmq/rabbitmq-java-client-622-for-4.x
michaelklishin Aug 29, 2019
67f9912
Add OAuth 2 credentials provider and refresh service
acogoluegnes Jun 21, 2019
116f570
Create RefreshProtectedCredentialsProvider class
acogoluegnes Jun 24, 2019
0ce9d78
Use Duration to track token expiration
acogoluegnes Jun 24, 2019
5471dad
Add ratio-based token refresh delay strategy
acogoluegnes Jun 25, 2019
c5eafdc
Handle thread interruption in credentials refresh service
acogoluegnes Jun 25, 2019
e58fca1
Send update.secret extension when scheduled
acogoluegnes Jul 4, 2019
bee8fb4
Remove some OAuth 2 integration tests
acogoluegnes Jul 4, 2019
9b35230
Handle credentials refresh error
acogoluegnes Jul 4, 2019
3c2b483
Document credentials refresh service
acogoluegnes Jul 5, 2019
aa4bb33
Rename CredentialsRefreshService#needRefresh to isApproachingExpiration
acogoluegnes Jul 8, 2019
dc1b104
Document OAuth 2 credentials provider
acogoluegnes Jul 8, 2019
10ba790
Document DefaultCredentialsRefreshService
acogoluegnes Jul 8, 2019
e334a3e
Bump dependencies
acogoluegnes Sep 12, 2019
592bb7e
Bump test and build dependencies
acogoluegnes Sep 12, 2019
d1779ba
[maven-release-plugin] prepare release v5.8.0.RC1
Sep 12, 2019
9f56b9b
[maven-release-plugin] prepare for next development iteration
Sep 12, 2019
91b3ccb
Set release version to 5.8.0.RC2
acogoluegnes Sep 12, 2019
96718db
Do not depend on generated classes for update-secret extension
acogoluegnes Sep 16, 2019
1cda0a8
[maven-release-plugin] prepare release v5.8.0.RC2
Sep 17, 2019
e4b0c27
[maven-release-plugin] prepare for next development iteration
Sep 17, 2019
b4f12c0
Set release version to 5.8.0.RC3
acogoluegnes Sep 17, 2019
58b04fc
Delete test queue
acogoluegnes Sep 18, 2019
e60bd3a
Bump Jackson to 2.9.10
acogoluegnes Sep 24, 2019
47e7aa4
Add release branch entry to release version file
acogoluegnes Oct 7, 2019
0cdf59a
Bump Jackson to 2.10.0
acogoluegnes Nov 5, 2019
1e3efdc
Bump dependencies
acogoluegnes Dec 12, 2019
c643faf
Bump test dependencies
acogoluegnes Dec 12, 2019
c0f158c
Set release version to 5.8.0
acogoluegnes Dec 12, 2019
3e1921b
[maven-release-plugin] prepare release v5.8.0
Dec 12, 2019
44f3e62
[maven-release-plugin] prepare for next development iteration
Dec 12, 2019
fe2acc3
Set release version to 5.8.1.RC1
acogoluegnes Dec 12, 2019
da3d2f0
Set release version to 5.9.0.RC1
acogoluegnes Dec 12, 2019
c832a3f
(c) bump
michaelklishin Dec 28, 2019
e1e1d5e
637: Configurable correlatorId generation for RPCClient
Feb 3, 2020
466dcf6
637: Default generator should not be static
Feb 3, 2020
5ee2a77
637: Default generator should not be static
Feb 4, 2020
177c4ea
Polish correlation ID supplier support in RPC client
acogoluegnes Feb 17, 2020
f25b038
Rename property
acogoluegnes Feb 17, 2020
29dc1c8
Change copyright and organization name to VMware
acogoluegnes Apr 1, 2020
14d9c1f
Check qos, heartbeat, max channel are unsigned shorts
acogoluegnes Apr 1, 2020
af4295c
Bump test dependencies
acogoluegnes Apr 1, 2020
855bcbc
Bump Maven plugin
acogoluegnes Apr 1, 2020
df38f55
Fix test
acogoluegnes Apr 1, 2020
efb0590
Fix broker node name
acogoluegnes Apr 1, 2020
f2ea862
Make sure qos, heartbeat, max channel are unsigned shorts
acogoluegnes Apr 2, 2020
6048bd0
Merge pull request #643 from rabbitmq/rabbitmq-java-client-642-check-…
michaelklishin Apr 2, 2020
8803083
Bump optional dependencies
acogoluegnes Apr 3, 2020
4bc22ce
Set version to 5.9.0-SNAPSHOT in POM
acogoluegnes Apr 3, 2020
ea945d3
[maven-release-plugin] prepare release v5.9.0.RC1
Apr 3, 2020
963729f
[maven-release-plugin] prepare for next development iteration
Apr 3, 2020
ea25ebf
Set release version to 5.9.0.RC2
acogoluegnes Apr 3, 2020
08a8819
Set release version to 5.9.0
acogoluegnes Apr 14, 2020
86f9ace
[maven-release-plugin] prepare release v5.9.0
Apr 14, 2020
668f1a2
[maven-release-plugin] prepare for next development iteration
Apr 14, 2020
14ee079
Set release version to 5.10.0.RC1
acogoluegnes Apr 14, 2020
051c30d
Add TLS keys to properties-based configuration
acogoluegnes Apr 16, 2020
e1f2c8e
AutorecoveringConnection.maybeDeleteRecordedAutoDeleteExchange does n…
michaelklishin Apr 22, 2020
653aa48
Lock NIO loop initialization (precaution)
acogoluegnes Apr 28, 2020
8a33457
Bump Maven to 3.6.3
acogoluegnes Apr 29, 2020
5fcb484
Switch to Mozilla Public License 2.0 (MPL 2.0)
Jul 13, 2020
6da9190
Drop Exhibit B from our MPL2 file
michaelklishin Jul 17, 2020
f149e48
Use MPL 2.0 in pom.xml
acogoluegnes Jul 21, 2020
9d5f9e9
Bump junit from 4.13 to 4.13.1
dependabot[bot] Oct 12, 2020
6a68626
Bump dependencies
acogoluegnes Oct 14, 2020
cd18287
Bump test dependencies
acogoluegnes Oct 14, 2020
d37a09f
[maven-release-plugin] prepare release v5.10.0.RC1
Oct 14, 2020
599e1e8
[maven-release-plugin] prepare for next development iteration
Oct 14, 2020
afbb7d3
Set release version to 5.10.0.RC2
acogoluegnes Oct 14, 2020
700fe97
Clean state in AutorecoveringChannel#abort
acogoluegnes Oct 19, 2020
2f4d112
Add missing class
acogoluegnes Oct 19, 2020
e8e719e
[maven-release-plugin] prepare release v5.10.0.RC2
Oct 21, 2020
37db0e8
[maven-release-plugin] prepare for next development iteration
Oct 21, 2020
42aaeda
Set release version to 5.10.0.RC3
acogoluegnes Oct 21, 2020
82e9db8
Set release version to 5.10.0
acogoluegnes Oct 23, 2020
0d95b0e
[maven-release-plugin] prepare release v5.10.0
Oct 23, 2020
f9fb1f2
[maven-release-plugin] prepare for next development iteration
Oct 23, 2020
48a6195
Set release version to 5.11.0.RC1
acogoluegnes Oct 23, 2020
7f81af2
Bump metrics dependency
acogoluegnes Oct 23, 2020
8153a00
Bump test dependencies
acogoluegnes Oct 23, 2020
ebf8309
Don't create server-named quorum queues in tests
acogoluegnes Nov 2, 2020
ce1eaaf
Sync on publish confirm in reject/nack tests
acogoluegnes Nov 5, 2020
1ac4011
Bump Micrometer to 1.6.0
acogoluegnes Nov 5, 2020
eebf6d4
Bump test dependencies
acogoluegnes Nov 5, 2020
b833635
Add JShell plugin for easy REPL usage
acogoluegnes Nov 16, 2020
0743a90
Bump optional dependencies
acogoluegnes Nov 16, 2020
76e6daa
Bump test dependency
acogoluegnes Nov 16, 2020
01ec732
Bump optional dependencies
acogoluegnes Dec 9, 2020
a9d123b
Bump test dependencies
acogoluegnes Dec 9, 2020
cf326a8
Bump Micrometer
acogoluegnes Dec 15, 2020
4a02abf
Bump copyright year
acogoluegnes Jan 4, 2021
09062cc
Bump dependencies
acogoluegnes Jan 21, 2021
49f4916
Bump test dependencies
acogoluegnes Jan 21, 2021
ceea76f
Adds required command line args to GraalVM native-image command.
rjbaucells Feb 2, 2021
f4ab944
new line at the EOF
rjbaucells Feb 2, 2021
87661ee
Merge pull request #666 from SteelBridgeLabs/graalvm-native-image
michaelklishin Feb 2, 2021
b1782f0
binding failure retry should recover all queue bindings
vikinghawk Feb 13, 2021
6aea5b2
only drop on 1st retry
vikinghawk Feb 13, 2021
ae5972a
short circuit the queue binding recovery.
vikinghawk Feb 14, 2021
30447a7
remove unused import
vikinghawk Feb 14, 2021
a5d3e4f
add topology recovery started listener
vikinghawk Feb 14, 2021
e39cb6f
cleanup
vikinghawk Feb 14, 2021
9d35159
add some more javadoc
vikinghawk Feb 15, 2021
277a8d2
Update to run tests against a containerized broker
acogoluegnes Feb 15, 2021
4cd1e64
Merge pull request #667 from vikinghawk/5.x.x-stable
acogoluegnes Feb 15, 2021
92a4257
Polish test
acogoluegnes Feb 15, 2021
f295141
Bump test dependencies
acogoluegnes Feb 15, 2021
eb59fba
closing a channel should cleanup auto-delete queues
vikinghawk Feb 16, 2021
9ab03a2
Fix for ConcurrentModificationException
vikinghawk Feb 16, 2021
8311fac
javadoc
vikinghawk Feb 16, 2021
528eaa5
Make channels instantiated with a user-provided number recoverable
michaelklishin Feb 16, 2021
b6fe07c
Squash some warnings in connection recovery test
acogoluegnes Feb 17, 2021
b3ee5fe
[maven-release-plugin] prepare release v5.11.0.RC1
Feb 17, 2021
f1b59cd
[maven-release-plugin] prepare for next development iteration
Feb 17, 2021
74b044a
Set release version to 5.11.0.RC2
acogoluegnes Feb 17, 2021
384c9ee
Use OSSRH for release
acogoluegnes Feb 17, 2021
b353e32
Increase Nexus staging timeout
acogoluegnes Feb 17, 2021
e2afbe3
Fix profile name in comment
acogoluegnes Feb 19, 2021
b970e5a
Set release version to 5.11.0
acogoluegnes Feb 19, 2021
f958570
[maven-release-plugin] prepare release v5.11.0
Feb 19, 2021
b962872
[maven-release-plugin] prepare for next development iteration
Feb 19, 2021
44537c6
[maven-release-plugin] prepare release v5.11.0
Feb 19, 2021
ce51568
[maven-release-plugin] prepare for next development iteration
Feb 19, 2021
1f67e38
Increase deployment timeout
acogoluegnes Feb 19, 2021
e89f37e
[maven-release-plugin] prepare release v5.11.0
Feb 19, 2021
4eefa9c
[maven-release-plugin] prepare for next development iteration
Feb 19, 2021
7c6e0e2
Set release version to 5.12.0.RC1
acogoluegnes Feb 19, 2021
3ef91e9
Merge branch '5.x.x-stable' of github.com:rabbitmq/rabbitmq-java-clie…
acogoluegnes Feb 19, 2021
bf9220c
Deps are only codegen
acogoluegnes Feb 19, 2021
33c1092
Retrieve deps before generating Javadoc
acogoluegnes Feb 19, 2021
7401a4b
Handle basic query parameters in connection URI
Feb 19, 2021
d9108ec
Handle URI query parameters in chain of responsibility
acogoluegnes Feb 22, 2021
bf362d5
Fix AMQP parsing test
acogoluegnes Feb 22, 2021
24d96bd
Add support for reading unsigned short "u".
gustf Mar 22, 2021
11dce89
Add support for reading unsigned int "i"
gustf Mar 22, 2021
4d0ba6d
code style
gustf Mar 22, 2021
a53f600
Add missing import
acogoluegnes Mar 29, 2021
af322a7
topology recovery updates
vikinghawk Apr 1, 2021
f27a954
Merge pull request #677 from vikinghawk/recovery_improvements
michaelklishin Apr 1, 2021
2d988ee
consumer recovery needs to return the new consumer tag
vikinghawk Apr 2, 2021
9b7baa8
Merge pull request #680 from vikinghawk/consumerRecoveryRetryFix
michaelklishin Apr 2, 2021
c5dfe55
Bump dependencies
acogoluegnes Apr 6, 2021
c46b6b0
Bump test dependencies
acogoluegnes Apr 6, 2021
4407bfa
[maven-release-plugin] prepare release v5.12.0.RC1
Apr 6, 2021
7ddb1dd
[maven-release-plugin] prepare for next development iteration
Apr 6, 2021
9020188
Set release version to 5.12.0.RC2
acogoluegnes Apr 6, 2021
d3a7463
Bump mockito
acogoluegnes Apr 7, 2021
079c2c8
Set release version to 5.12.0
acogoluegnes Apr 9, 2021
a969598
[maven-release-plugin] prepare release v5.12.0
Apr 9, 2021
3731fb1
[maven-release-plugin] prepare for next development iteration
Apr 9, 2021
08c0761
Set release version to 5.13.0.RC1
acogoluegnes Apr 9, 2021
21a77a6
Merge pull request #682 from laurio/patch-1
michaelklishin Apr 14, 2021
c5bfe2d
Bump optional dependencies
acogoluegnes Apr 19, 2021
d0fd731
Bump test dependency
acogoluegnes Apr 19, 2021
a3470e9
Bump metrics
acogoluegnes Apr 29, 2021
19bd212
Bump metrics
acogoluegnes May 7, 2021
c52f2f0
Bump dependencies
acogoluegnes May 17, 2021
339ca72
Bump Mockito
acogoluegnes May 17, 2021
c76be10
Fix TLS configuration for Java 13.0.7
acogoluegnes May 17, 2021
d7d100a
Bump test dependencies
acogoluegnes Jun 7, 2021
ecbc577
Bump test dependencies
acogoluegnes Jun 14, 2021
d366c98
Move resolved address shuffling to AddressResolver
michaelklishin Jun 20, 2021
f04572f
Document optional shuffling in AddressResolver
acogoluegnes Jun 21, 2021
60cefd0
Bump dependencies
acogoluegnes Jun 21, 2021
b56e8f7
Bump assertj
acogoluegnes Jun 21, 2021
1f8ddcc
Bump dependencies
acogoluegnes Jun 24, 2021
e935a34
Bump Mockito to 3.11.2
acogoluegnes Jun 24, 2021
11204fe
[maven-release-plugin] prepare release v5.13.0.RC1
Jun 30, 2021
2bc3e55
[maven-release-plugin] prepare for next development iteration
Jun 30, 2021
f876392
Set release version to 5.13.0.RC2
acogoluegnes Jun 30, 2021
e88962d
Topology recovery retry fixes
vikinghawk Jun 30, 2021
a19879b
Allow changing queue name during recovery
vikinghawk Jul 2, 2021
5b740ce
Merge pull request #693 from vikinghawk/renameQueueOnRecovery
michaelklishin Jul 3, 2021
3b6dbbb
[maven-release-plugin] prepare release v5.13.0.RC1
Jun 30, 2021
eb1d711
[maven-release-plugin] prepare for next development iteration
Jun 30, 2021
318b784
Set release version to 5.13.0.RC2
acogoluegnes Jun 30, 2021
f3af73e
Allow changing queue name during recovery
vikinghawk Jul 2, 2021
b4e0a26
Merge branch 'vikinghawk-5.x.x-stable' into 5.x.x-stable
michaelklishin Jul 3, 2021
28df0d0
Merge branch '5.x.x-stable'
michaelklishin Jul 3, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion LICENSE-MPL-RabbitMQ
Original file line number Diff line number Diff line change
Expand Up @@ -364,4 +364,4 @@ file, then You may include the notice in a location (such as a LICENSE
file in a relevant directory) where a recipient would be likely to look
for such a notice.

Copyright (c) 2007-2020 VMware, Inc. or its affiliates.
Copyright (c) 2007-2021 VMware, Inc. or its affiliates.
2 changes: 1 addition & 1 deletion RUNNING_TESTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,4 +107,4 @@ Launch the tests:
```

Note the `rabbitmqctl.bin` system property uses the syntax
`DOCKER:{containerId}`.
`DOCKER:{containerId}`.
15 changes: 15 additions & 0 deletions src/main/java/com/rabbitmq/client/ConnectionFactory.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,11 @@
import com.rabbitmq.client.impl.nio.NioParams;
import com.rabbitmq.client.impl.nio.SocketChannelFrameHandlerFactory;
import com.rabbitmq.client.impl.recovery.AutorecoveringConnection;
import com.rabbitmq.client.impl.recovery.RecoveredQueueNameSupplier;
import com.rabbitmq.client.impl.recovery.RetryHandler;
import com.rabbitmq.client.impl.recovery.TopologyRecoveryFilter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.Map.Entry;
import java.util.function.BiConsumer;
Expand Down Expand Up @@ -49,6 +52,7 @@
*/
public class ConnectionFactory implements Cloneable {

private static final Logger LOGGER = LoggerFactory.getLogger(ConnectionFactory.class);
private static final int MAX_UNSIGNED_SHORT = 65535;

/** Default user name */
Expand Down Expand Up @@ -186,6 +190,7 @@ public class ConnectionFactory implements Cloneable {
* @since 5.4.0
*/
private RetryHandler topologyRecoveryRetryHandler;
private RecoveredQueueNameSupplier recoveredQueueNameSupplier;

/**
* Traffic listener notified of inbound and outbound {@link Command}s.
Expand Down Expand Up @@ -1261,6 +1266,7 @@ public ConnectionParams params(ExecutorService consumerWorkServiceExecutor) {
result.setTopologyRecoveryFilter(topologyRecoveryFilter);
result.setConnectionRecoveryTriggeringCondition(connectionRecoveryTriggeringCondition);
result.setTopologyRecoveryRetryHandler(topologyRecoveryRetryHandler);
result.setRecoveredQueueNameSupplier(recoveredQueueNameSupplier);
result.setTrafficListener(trafficListener);
result.setCredentialsRefreshService(credentialsRefreshService);
return result;
Expand Down Expand Up @@ -1639,6 +1645,15 @@ public void setTopologyRecoveryRetryHandler(RetryHandler topologyRecoveryRetryHa
this.topologyRecoveryRetryHandler = topologyRecoveryRetryHandler;
}

/**
* Set the recovered queue name supplier. Default is use the same queue name when recovering queues.
*
* @param recoveredQueueNameSupplier queue name supplier
*/
public void setRecoveredQueueNameSupplier(RecoveredQueueNameSupplier recoveredQueueNameSupplier) {
this.recoveredQueueNameSupplier = recoveredQueueNameSupplier;
}

/**
* Traffic listener notified of inbound and outbound {@link Command}s.
* <p>
Expand Down
16 changes: 12 additions & 4 deletions src/main/java/com/rabbitmq/client/MetricsCollector.java
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,21 @@ public interface MetricsCollector {

void basicPublish(Channel channel, long deliveryTag);

void basicPublishFailure(Channel channel, Throwable cause);
default void basicPublishFailure(Channel channel, Throwable cause) {

void basicPublishAck(Channel channel, long deliveryTag, boolean multiple);
}

void basicPublishNack(Channel channel, long deliveryTag, boolean multiple);
default void basicPublishAck(Channel channel, long deliveryTag, boolean multiple) {

void basicPublishUnrouted(Channel channel);
}

default void basicPublishNack(Channel channel, long deliveryTag, boolean multiple) {

}

default void basicPublishUnrouted(Channel channel) {

}

void consumedMessage(Channel channel, long deliveryTag, boolean autoAck);

Expand Down
20 changes: 10 additions & 10 deletions src/main/java/com/rabbitmq/client/impl/AMQConnection.java
Original file line number Diff line number Diff line change
Expand Up @@ -397,35 +397,35 @@ public void start()
}

try {
int channelMax =
int negotiatedChannelMax =
negotiateChannelMax(this.requestedChannelMax,
connTune.getChannelMax());

if (!checkUnsignedShort(channelMax)) {
throw new IllegalArgumentException("Negotiated channel max must be between 0 and " + MAX_UNSIGNED_SHORT + ": " + channelMax);
if (!checkUnsignedShort(negotiatedChannelMax)) {
throw new IllegalArgumentException("Negotiated channel max must be between 0 and " + MAX_UNSIGNED_SHORT + ": " + negotiatedChannelMax);
}

_channelManager = instantiateChannelManager(channelMax, threadFactory);
_channelManager = instantiateChannelManager(negotiatedChannelMax, threadFactory);

int frameMax =
negotiatedMaxValue(this.requestedFrameMax,
connTune.getFrameMax());
this._frameMax = frameMax;

int heartbeat =
int negotiatedHeartbeat =
negotiatedMaxValue(this.requestedHeartbeat,
connTune.getHeartbeat());

if (!checkUnsignedShort(heartbeat)) {
throw new IllegalArgumentException("Negotiated heartbeat must be between 0 and " + MAX_UNSIGNED_SHORT + ": " + heartbeat);
if (!checkUnsignedShort(negotiatedHeartbeat)) {
throw new IllegalArgumentException("Negotiated heartbeat must be between 0 and " + MAX_UNSIGNED_SHORT + ": " + negotiatedHeartbeat);
}

setHeartbeat(heartbeat);
setHeartbeat(negotiatedHeartbeat);

_channel0.transmit(new AMQP.Connection.TuneOk.Builder()
.channelMax(channelMax)
.channelMax(negotiatedChannelMax)
.frameMax(frameMax)
.heartbeat(heartbeat)
.heartbeat(negotiatedHeartbeat)
.build());
_channel0.exnWrappingRpc(new AMQP.Connection.Open.Builder()
.virtualHost(_virtualHost)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -151,9 +151,9 @@ public void basicPublishNack(Channel channel, long deliveryTag, boolean multiple
@Override
public void basicPublishUnrouted(Channel channel) {
try {
markPublishedMessageNotRouted();
markPublishedMessageUnrouted();
} catch(Exception e) {
LOGGER.info("Error while computing metrics in markPublishedMessageNotRouted: " + e.getMessage());
LOGGER.info("Error while computing metrics in markPublishedMessageUnrouted: " + e.getMessage());
}
}

Expand Down Expand Up @@ -420,5 +420,5 @@ private ChannelState(Channel channel) {
/**
* Marks the event of a published message not being routed.
*/
protected abstract void markPublishedMessageNotRouted();
protected abstract void markPublishedMessageUnrouted();
}
11 changes: 10 additions & 1 deletion src/main/java/com/rabbitmq/client/impl/ConnectionParams.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import com.rabbitmq.client.SaslConfig;
import com.rabbitmq.client.ShutdownSignalException;
import com.rabbitmq.client.TrafficListener;
import com.rabbitmq.client.impl.recovery.RecoveredQueueNameSupplier;
import com.rabbitmq.client.impl.recovery.RetryHandler;
import com.rabbitmq.client.impl.recovery.TopologyRecoveryFilter;

Expand Down Expand Up @@ -54,7 +55,7 @@ public class ConnectionParams {
private TopologyRecoveryFilter topologyRecoveryFilter;
private Predicate<ShutdownSignalException> connectionRecoveryTriggeringCondition;
private RetryHandler topologyRecoveryRetryHandler;

private RecoveredQueueNameSupplier recoveredQueueNameSupplier;
private ExceptionHandler exceptionHandler;
private ThreadFactory threadFactory;

Expand Down Expand Up @@ -272,6 +273,14 @@ public RetryHandler getTopologyRecoveryRetryHandler() {
return topologyRecoveryRetryHandler;
}

public void setRecoveredQueueNameSupplier(RecoveredQueueNameSupplier recoveredQueueNameSupplier) {
this.recoveredQueueNameSupplier = recoveredQueueNameSupplier;
}

public RecoveredQueueNameSupplier getRecoveredQueueNameSupplier() {
return recoveredQueueNameSupplier;
}

public void setTrafficListener(TrafficListener trafficListener) {
this.trafficListener = trafficListener;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ protected void markMessagePublishNotAcknowledged() {
}

@Override
protected void markPublishedMessageNotRouted() {
protected void markPublishedMessageUnrouted() {
unroutedPublishedMessages.increment();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -595,5 +595,4 @@ private SSLSocketFactory sslSocketFactory() {
}

}

}
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ protected void markMessagePublishNotAcknowledged() {
}

@Override
protected void markPublishedMessageNotRouted() {
protected void markPublishedMessageUnrouted() {
publishUnroutedMessages.mark();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -355,7 +355,8 @@ public void queueDeclareNoWait(String queue,
durable(durable).
exclusive(exclusive).
autoDelete(autoDelete).
arguments(arguments);
arguments(arguments).
recoveredQueueNameSupplier(connection.getRecoveredQueueNameSupplier());
delegate.queueDeclareNoWait(queue, durable, exclusive, autoDelete, arguments);
recordQueue(queue, meta);

Expand Down Expand Up @@ -848,7 +849,8 @@ private void recordQueue(AMQP.Queue.DeclareOk ok, String queue, boolean durable,
durable(durable).
exclusive(exclusive).
autoDelete(autoDelete).
arguments(arguments);
arguments(arguments).
recoveredQueueNameSupplier(connection.getRecoveredQueueNameSupplier());
if (queue.equals(RecordedQueue.EMPTY_STRING)) {
q.serverNamed(true);
}
Expand Down
Loading