Closed vsevel closed 1 year ago
I'm investigating this and it looks like, for some reason, inflow messages bypass the JCA ConnectionManager's pool (the ResourceAdapter creates them using Artemis JMS Client, not allocating from the ConnectionManager). Still investigating, but it may require changes in the Artemis JMS RA to function properly
Just confirmed: the Artemis RA doesn't use the ConnectionManager, therefore the metrics exposed there are for outflow messaging only. I haven't found anything in the spec saying that inflow messaging should use the ConnectionManager, so I guess that's expected.
I created https://issues.apache.org/jira/browse/ARTEMIS-4429 as a new feature.
PS: You also need to change the pool strategy if you plan to prefill it since the default doesn't really allow it (maybe I could display a warning in this case):
quarkus.ironjacamar.other.ra.cm.pool.strategy=one-pool
I have tried to prefill the pool to start with an active connection, which would allow to provide a reliable alerting (we would be supposed to have always
active > 0
, else it would be an error). I tried configuring:but I keep getting
ironjacamar_pool_active_count_total{resourceAdapter="other"} 0.0
it is disturbing because when I start the application the consumer connects successfully (I can see 5 sessions created on each remote broker node), but
ironjacamar_pool_active_count_total
stays at 0. only when I send the first message, which gets received, do I getironjacamar_pool_active_count_total{resourceAdapter="other"} 1.0
if I remove the messaging endpoint,
ironjacamar_pool_active_count_total
is0
after startup, and1
after the first send. if there is a message in the queue, and I activate the listener and I restart the app, without sending another message after app startup, the app receives the message,ironjacamar_pool_active_count_total
stays at0
in summary:
ironjacamar_pool_active_count_total
becomes1
after first sendironjacamar_pool_active_count_total
always0