Skip to content
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

broekr and consumer Configuration Redelivery Policy conflict #541

Open
wants to merge 836 commits into
base: activemq-5.15.x
from

Conversation

@xiangyang-gao
Copy link

xiangyang-gao commented Jun 2, 2020

The operation is as follows:
1.broekr activemq.xml add

<plugins> <redeliveryPlugin fallbackToDeadLetter="true" sendToDlqIfMaxRetriesExceeded="true"> <redeliveryPolicyMap> <redeliveryPolicyMap> <redeliveryPolicyEntries> <defaultEntry> <!-- the fallback policy for all other destinations --> <redeliveryPolicy maximumRedeliveries="6" initialRedeliveryDelay="1000" redeliveryDelay="1000"/> </defaultEntry> </redeliveryPolicyMap> </redeliveryPolicyMap> </redeliveryPlugin> </plugins>
2. Consumer clinet set
protected int maximumRedeliveries = 6;
protected long maximumRedeliveryDelay = -1L;
protected long initialRedeliveryDelay = 1000L;
protected boolean useCollisionAvoidance;
protected boolean useExponentialBackOff;
protected double backOffMultiplier = 5.0D;
protected long redeliveryDelay;

3.code demo

@override
public void execute(PreferencesMessage message) {
log.info("**********message={}",message);
throw new RuntimeException("fail");
}
4.Problem Description
log.info("**********message={}",message);
Log output times:28
Expected times: 7

PascalSchumacher and others added 30 commits Feb 10, 2020
…ents_in_log_messages

Fix unused format arguments in log messages.
…zation

AMQ-7402: Inconsistent synchronization of getters/setters of some cla…
AMQ-7404 add debug logging for selectors loaded from the cache file
AMQ-7399 - Adding a unit test
…k for the HTTPS connector
AMQ-7406 - ActiveMQSslConnectionFactory truststore settings don't wor…
Credit To: Piyush Chugh <chughpiyush>
Credit To: Piyush Chugh <chughpiyush>
Some calls to info() were guarded by checks that logging at the trace
level is enabled.

These issues were found by SLF4J Helper for NetBeans IDE:
http://plugins.netbeans.org/plugin/72557/
This fixes a warning in NetBeans IDE about synchronizing on a non-final
field.
Eliminates the need to construct a new (temporary) Object array object.

These changes were suggested by SLF4J Helper for NetBeans IDE:
http://plugins.netbeans.org/plugin/72557/
In some cases, there were an inconsistent number of formatting anchors.

In other cases, formatting anchors were used, but because the
trace/debug/info/warn/error(String, Throwable) variant was used, the
string is a message string rather than a format string.

These issues were found by SLF4J Helper for NetBeans IDE:
http://plugins.netbeans.org/plugin/72557/
[AMQ-7320] Upgrade to Jackson databind 2.9.10.2
[AMQ-7278] Upgrade to Scala 2.11.11
[AMQ-7408] Upgrade to Guava 28.2-jre
Cleanup unused properties from pom.xml
@mattrpav

This comment has been minimized.

Copy link
Contributor

mattrpav commented on 62f5576 Jul 24, 2020

@cshannon I'm showing dead code at L285 and potential NPE at L279 on the synchronized()

I think you want something along the lines of:

if(subSelectorCache.containsKey(destinationName)) {
    final Set<String> cachedSelectors = subSelectorCache.get(destinationName);
    if (cachedSelectors != null) {
    	synchronized(cachedSelectors) {
    		return new HashSet<>(cachedSelectors);
    	}
    }
}
return Collections.EMPTY_SET;

This comment has been minimized.

Copy link
Contributor Author

cshannon replied Jul 24, 2020

Yep you are right for sure, got that backwards, thanks for catching that. I will fix it.

@clebertsuconic
Copy link
Contributor

clebertsuconic commented Jul 24, 2020

You should rebase. your branch correctly. if this is to be merged it would create a mess with a big/ huge merge commit.

tabish121 and others added 14 commits Jul 29, 2020
Update Qpid JMS, proton-j and netty libraries used for AMQP support
and tests to latest releases (0.53.0, 0.33.6, 4.1.51.Final).
Support class should check both primitive and Object based types for
conversion from String to boolean or Boolean targets
AMQ-8020 - Replace toLowerCase().equals() with equalsIgnoreCase
AMQ-7513 - Fix http://activemq.org links
AMQ-7511 - Update Jackson Databind to 2.9.10.5
AMQ-7512 - Consolidate XBean byte parsing
…sing to avoid resub blocking a necessary purge via removal, fix and test via mqtt clean session scenario
…ination advisory processing, serialise add/remove dest such that add is not lost and new sub resubscribes ok, extra verifications in the test
…nitor thread pool, follow example of nio. new test to verify
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

You can’t perform that action at this time.