[ https://issues.apache.org/jira/browse/ARTEMIS-2934?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Clebert Suconic closed ARTEMIS-2934. ------------------------------------ Resolution: Fixed > ARTEMIS-2226 causes excessive notifications to be sent for Spring XA clients > ---------------------------------------------------------------------------- > > Key: ARTEMIS-2934 > URL: https://issues.apache.org/jira/browse/ARTEMIS-2934 > Project: ActiveMQ Artemis > Issue Type: Bug > Affects Versions: 2.20.0 > Reporter: Anton Roskvist > Priority: Minor > Fix For: 2.21.0 > > Time Spent: 20m > Remaining Estimate: 0h > > Hi, > The fix in https://issues.apache.org/jira/browse/ARTEMIS-2226 causes > excessive notifications to be sent for clients running XA transaction through > the Spring framework. > The notifications sent are SESSION_CREATED and SESSION_CLOSED. > I strongly suspect this is because Spring DMLC cannot cache consumers > properly when running XA, causing it to create and remove a new session for > each message processed. > Now I am not arguing that is not bad practice, because it is, but lots of > applications run on top of this logic. I also suspect this might affect more > but not be as pronounced. > > I have been able to prove the aforementioned patch is what causes the issue > by removing: > sendSessionNotification(CoreNotificationType.SESSION_CREATED); > and > sendSessionNotification(CoreNotificationType.SESSION_CLOSED); > from ServerSessionImpl.java (they where added in the patch) > Now I do not fully understand the intent of the original patch but I think it > should be made conditional, that is, send those notifications only for MQTT > session or something similar. > > In the environment I am testing this on the difference is huge as I have a > lot of independent applications all running Spring+XA. About 40% of all > messages getting sent and received are notifications. > > Br, > Anton -- This message was sent by Atlassian Jira (v8.20.1#820001)