@@ -676,16 +676,21 @@ public void setupMessageListener(Object messageListener) {
676
676
* @see #handleListenerException
677
677
*/
678
678
protected void executeListener (Session session , Message message ) {
679
- createObservation (message ).observe (() -> {
680
- try {
681
- doExecuteListener (session , message );
682
- }
683
- catch (Throwable ex ) {
684
- handleListenerException (ex );
685
- }
686
- });
679
+ try {
680
+ doExecuteListener (session , message );
681
+ }
682
+ catch (Throwable ex ) {
683
+ handleListenerException (ex );
684
+ }
687
685
}
688
686
687
+ /**
688
+ * Create, but do not start an {@link Observation} for JMS message processing.
689
+ * <p>This will return a "no-op" observation if Micrometer Jakarta instrumentation
690
+ * is not available or if no Observation Registry has been configured.
691
+ * @param message the message to be observed
692
+ * @since 6.1
693
+ */
689
694
protected Observation createObservation (Message message ) {
690
695
if (micrometerJakartaPresent && this .observationRegistry != null ) {
691
696
return ObservationFactory .create (this .observationRegistry , message );
@@ -770,7 +775,6 @@ protected void doInvokeListener(SessionAwareMessageListener listener, Session se
770
775
771
776
Connection conToClose = null ;
772
777
Session sessionToClose = null ;
773
- Observation observation = createObservation (message );
774
778
try {
775
779
Session sessionToUse = session ;
776
780
if (micrometerJakartaPresent && this .observationRegistry != null ) {
@@ -782,7 +786,6 @@ protected void doInvokeListener(SessionAwareMessageListener listener, Session se
782
786
sessionToClose = createSession (conToClose );
783
787
sessionToUse = sessionToClose ;
784
788
}
785
- observation .start ();
786
789
// Actually invoke the message listener...
787
790
listener .onMessage (message , sessionToUse );
788
791
// Clean up specially exposed Session, if any.
@@ -794,11 +797,9 @@ protected void doInvokeListener(SessionAwareMessageListener listener, Session se
794
797
}
795
798
}
796
799
catch (JMSException exc ) {
797
- observation .error (exc );
798
800
throw exc ;
799
801
}
800
802
finally {
801
- observation .stop ();
802
803
JmsUtils .closeSession (sessionToClose );
803
804
JmsUtils .closeConnection (conToClose );
804
805
}
0 commit comments