This is an automated email from the ASF dual-hosted git repository.

coheigea pushed a commit to branch 4.1.x-fixes
in repository https://gitbox.apache.org/repos/asf/cxf.git

commit 5f52f7ccf9a0859134840715d668872d2318d1a5
Author: Colm O hEigeartaigh <[email protected]>
AuthorDate: Tue Oct 20 13:43:13 2026 +0100

    Consolidate the resource operation name exchange key into Message (#3607)
    
    (cherry picked from commit f9c37340a8070761e36d92047cf087ef827d50e1)
---
 core/src/main/java/org/apache/cxf/message/Message.java              | 6 ++++++
 .../org/apache/cxf/ext/logging/event/DefaultLogEventMapper.java     | 2 +-
 .../apache/cxf/metrics/interceptors/AbstractMetricsInterceptor.java | 2 +-
 .../java/org/apache/cxf/jaxrs/interceptor/JAXRSInInterceptor.java   | 3 +--
 .../interceptor/AbstractMessageResponseTimeInterceptor.java         | 2 +-
 .../apache/cxf/management/interceptor/PersistOutInterceptor.java    | 2 +-
 .../src/main/java/org/apache/cxf/jaxrs/client/AbstractClient.java   | 2 +-
 7 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/core/src/main/java/org/apache/cxf/message/Message.java 
b/core/src/main/java/org/apache/cxf/message/Message.java
index 339fade7658..c18cafc912f 100644
--- a/core/src/main/java/org/apache/cxf/message/Message.java
+++ b/core/src/main/java/org/apache/cxf/message/Message.java
@@ -40,6 +40,12 @@ public interface Message extends StringMap {
      */
     String REST_MESSAGE = "org.apache.cxf.rest.message";
 
+    /**
+     * Exchange property holding the name of the invoked resource operation for
+     * non-WSDL (e.g. JAX-RS) endpoints, used for logging, metrics and 
management.
+     */
+    String RESOURCE_OPERATION_NAME = "org.apache.cxf.resource.operation.name";
+
     /**
      * Boolean property specifying if the message is a request message.
      */
diff --git 
a/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/event/DefaultLogEventMapper.java
 
b/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/event/DefaultLogEventMapper.java
index ee3a386bec5..7008778bb09 100644
--- 
a/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/event/DefaultLogEventMapper.java
+++ 
b/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/event/DefaultLogEventMapper.java
@@ -365,7 +365,7 @@ public class DefaultLogEventMapper {
      * @return
      */
     private boolean isRESTFault(Message message) {
-        Object opName = 
message.getExchange().get("org.apache.cxf.resource.operation.name");
+        Object opName = 
message.getExchange().get(Message.RESOURCE_OPERATION_NAME);
         Integer responseCode = (Integer)message.get(Message.RESPONSE_CODE);
         if (opName == null && responseCode == null) {
             return true;
diff --git 
a/rt/features/metrics/src/main/java/org/apache/cxf/metrics/interceptors/AbstractMetricsInterceptor.java
 
b/rt/features/metrics/src/main/java/org/apache/cxf/metrics/interceptors/AbstractMetricsInterceptor.java
index 80a190b0c00..8e52e3ed7b2 100644
--- 
a/rt/features/metrics/src/main/java/org/apache/cxf/metrics/interceptors/AbstractMetricsInterceptor.java
+++ 
b/rt/features/metrics/src/main/java/org/apache/cxf/metrics/interceptors/AbstractMetricsInterceptor.java
@@ -142,7 +142,7 @@ public abstract class AbstractMetricsInterceptor extends 
AbstractPhaseIntercepto
         Object metrics = null;
         if (boi == null) {
             //likely a REST service, let's see if we have a resource name
-            Object nameProperty = 
m.getExchange().get("org.apache.cxf.resource.operation.name");
+            Object nameProperty = 
m.getExchange().get(Message.RESOURCE_OPERATION_NAME);
             if (nameProperty != null) {
                 metrics = 
getRestMetricsMap(m.getExchange().getEndpoint()).get(nameProperty.toString());
                 if (metrics == null) {
diff --git 
a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/interceptor/JAXRSInInterceptor.java
 
b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/interceptor/JAXRSInInterceptor.java
index 7fdba7683f8..f192eb4511a 100644
--- 
a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/interceptor/JAXRSInInterceptor.java
+++ 
b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/interceptor/JAXRSInInterceptor.java
@@ -62,7 +62,6 @@ public class JAXRSInInterceptor extends 
AbstractPhaseInterceptor<Message> {
     private static final Logger LOG = 
LogUtils.getL7dLogger(JAXRSInInterceptor.class);
     private static final ResourceBundle BUNDLE = 
BundleUtils.getBundle(JAXRSInInterceptor.class);
     private static final String RESOURCE_METHOD = 
"org.apache.cxf.resource.method";
-    private static final String RESOURCE_OPERATION_NAME = 
"org.apache.cxf.resource.operation.name";
 
     public JAXRSInInterceptor() {
         super(Phase.UNMARSHAL);
@@ -250,7 +249,7 @@ public class JAXRSInInterceptor extends 
AbstractPhaseInterceptor<Message> {
         if (numberOfResources > 1) {
             plainOperationName = cri.getServiceClass().getSimpleName() + "#" + 
plainOperationName;
         }
-        exchange.put(RESOURCE_OPERATION_NAME, plainOperationName);
+        exchange.put(Message.RESOURCE_OPERATION_NAME, plainOperationName);
 
         if (ori.isOneway()
             || PropertyUtils.isTrue(HttpUtils.getProtocolHeader(message, 
Message.ONE_WAY_REQUEST, null))) {
diff --git 
a/rt/management/src/main/java/org/apache/cxf/management/interceptor/AbstractMessageResponseTimeInterceptor.java
 
b/rt/management/src/main/java/org/apache/cxf/management/interceptor/AbstractMessageResponseTimeInterceptor.java
index c5be22e4583..09851504772 100644
--- 
a/rt/management/src/main/java/org/apache/cxf/management/interceptor/AbstractMessageResponseTimeInterceptor.java
+++ 
b/rt/management/src/main/java/org/apache/cxf/management/interceptor/AbstractMessageResponseTimeInterceptor.java
@@ -178,7 +178,7 @@ public abstract class 
AbstractMessageResponseTimeInterceptor extends AbstractPha
         String operationName = opInfo == null ? null : "\"" + 
opInfo.getName().getLocalPart() + "\"";
 
         if (operationName == null) {
-            Object nameProperty = 
ex.get("org.apache.cxf.resource.operation.name");
+            Object nameProperty = ex.get(Message.RESOURCE_OPERATION_NAME);
             if (nameProperty != null) {
                 operationName = "\"" + 
escapePatternChars(nameProperty.toString()) + "\"";
             }
diff --git 
a/rt/management/src/main/java/org/apache/cxf/management/interceptor/PersistOutInterceptor.java
 
b/rt/management/src/main/java/org/apache/cxf/management/interceptor/PersistOutInterceptor.java
index 5d1491b391c..8feac4f9326 100644
--- 
a/rt/management/src/main/java/org/apache/cxf/management/interceptor/PersistOutInterceptor.java
+++ 
b/rt/management/src/main/java/org/apache/cxf/management/interceptor/PersistOutInterceptor.java
@@ -171,7 +171,7 @@ public class PersistOutInterceptor extends 
AbstractPhaseInterceptor<Message> {
                 String operationName = opInfo == null ? null : 
opInfo.getName().getLocalPart();
 
                 if (operationName == null) {
-                    Object nameProperty = 
message.getExchange().get("org.apache.cxf.resource.operation.name");
+                    Object nameProperty = 
message.getExchange().get(Message.RESOURCE_OPERATION_NAME);
                     if (nameProperty != null) {
                         operationName = "\"" + nameProperty.toString() + "\"";
                     }
diff --git 
a/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/AbstractClient.java 
b/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/AbstractClient.java
index 9b25a4dddd8..05446c9ff31 100644
--- a/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/AbstractClient.java
+++ b/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/AbstractClient.java
@@ -1193,7 +1193,7 @@ public abstract class AbstractClient implements Client {
     }
 
     protected void setPlainOperationNameProperty(Message outMessage, String 
name) {
-        outMessage.getExchange().put("org.apache.cxf.resource.operation.name", 
name);
+        outMessage.getExchange().put(Message.RESOURCE_OPERATION_NAME, name);
     }
 
     protected static Type getCallbackType(InvocationCallback<?> callback) {

Reply via email to