Author: ningjiang
Date: Fri May 18 07:37:50 2007
New Revision: 539486

URL: http://svn.apache.org/viewvc?view=rev&rev=539486
Log:
[CXF-649] Used AtomicInteger in the PerformanceCounter and ResponseTimeCounter 

Modified:
    
incubator/cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/counters/Counter.java
    
incubator/cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/counters/PerformanceCounter.java
    
incubator/cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/counters/ResponseTimeCounter.java
    
incubator/cxf/trunk/rt/management/src/test/java/org/apache/cxf/management/interceptor/AbstractMessageResponseTestBase.java

Modified: 
incubator/cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/counters/Counter.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/counters/Counter.java?view=diff&rev=539486&r1=539485&r2=539486
==============================================================================
--- 
incubator/cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/counters/Counter.java
 (original)
+++ 
incubator/cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/counters/Counter.java
 Fri May 18 07:37:50 2007
@@ -22,7 +22,7 @@
 import org.apache.cxf.management.ManagedComponent;
 
 public interface Counter extends ManagedComponent {
-    String DEFAULT_DOMAIN_NAME  = "com.iona.tandoori";
+    String DEFAULT_DOMAIN_NAME  = "org.apache.cxf";
     
     void increase(MessageHandlingTimeRecorder mhtr);  
         

Modified: 
incubator/cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/counters/PerformanceCounter.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/counters/PerformanceCounter.java?view=diff&rev=539486&r1=539485&r2=539486
==============================================================================
--- 
incubator/cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/counters/PerformanceCounter.java
 (original)
+++ 
incubator/cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/counters/PerformanceCounter.java
 Fri May 18 07:37:50 2007
@@ -19,23 +19,26 @@
 
 package org.apache.cxf.management.counters;
 
+import java.util.concurrent.atomic.AtomicInteger;
+
 import javax.management.JMException;
 import javax.management.ObjectName;
 
 public class PerformanceCounter implements PerformanceCounterMBean, Counter {
-    private int invocations;
+    private AtomicInteger invocations  = new AtomicInteger();
     private ObjectName objectName;
+    
 
     public PerformanceCounter(ObjectName on) {
         objectName = on;
     }
 
     public Number getNumInvocations() {        
-        return invocations;
+        return invocations.get();
     }
 
-    public synchronized void increase(MessageHandlingTimeRecorder mhtr) {
-        invocations++;
+    public void increase(MessageHandlingTimeRecorder mhtr) {
+        invocations.getAndIncrement();
     }
 
     public ObjectName getObjectName() throws JMException {        

Modified: 
incubator/cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/counters/ResponseTimeCounter.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/counters/ResponseTimeCounter.java?view=diff&rev=539486&r1=539485&r2=539486
==============================================================================
--- 
incubator/cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/counters/ResponseTimeCounter.java
 (original)
+++ 
incubator/cxf/trunk/rt/management/src/main/java/org/apache/cxf/management/counters/ResponseTimeCounter.java
 Fri May 18 07:37:50 2007
@@ -19,12 +19,14 @@
 package org.apache.cxf.management.counters;
 
 
+import java.util.concurrent.atomic.AtomicInteger;
+
 import javax.management.ObjectName;
 
 public class ResponseTimeCounter implements ResponseTimeCounterMBean, Counter 
{    
     
     private ObjectName objectName;
-    private int invocations;
+    private AtomicInteger invocations = new AtomicInteger();
     private long totalHandlingTime;    
     private long maxHandlingTime;
     private long minHandlingTime = Integer.MAX_VALUE;
@@ -33,8 +35,8 @@
         objectName = on;     
     }
     
-    public synchronized void  increase(MessageHandlingTimeRecorder mhtr) {
-        invocations++;
+    public void  increase(MessageHandlingTimeRecorder mhtr) {
+        invocations.getAndIncrement();
         long handlingTime = 0;
         if (mhtr.isOneWay()) {
             // We can count the response time 
@@ -61,7 +63,7 @@
     }
 
     public Number getAvgResponseTime() {        
-        return (int)(totalHandlingTime / invocations);
+        return (int)(totalHandlingTime / invocations.get());
     }
 
     
@@ -74,7 +76,7 @@
     }
 
     public Number getNumInvocations() {        
-        return invocations;
+        return invocations.get();
     }
 
    

Modified: 
incubator/cxf/trunk/rt/management/src/test/java/org/apache/cxf/management/interceptor/AbstractMessageResponseTestBase.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/management/src/test/java/org/apache/cxf/management/interceptor/AbstractMessageResponseTestBase.java?view=diff&rev=539486&r1=539485&r2=539486
==============================================================================
--- 
incubator/cxf/trunk/rt/management/src/test/java/org/apache/cxf/management/interceptor/AbstractMessageResponseTestBase.java
 (original)
+++ 
incubator/cxf/trunk/rt/management/src/test/java/org/apache/cxf/management/interceptor/AbstractMessageResponseTestBase.java
 Fri May 18 07:37:50 2007
@@ -39,16 +39,16 @@
 
 
 public class AbstractMessageResponseTestBase extends Assert {
-    protected static final QName SERVICE_NAME = new 
QName("http://com.iona.tandoori";, "hello");
-    protected static final QName OPERATION_NAME = new 
QName("http://com.iona.tandoori";, "world");
-    protected static final QName PORT_NAME = new 
QName("http://com.iona.tandoori";, "port");
+    protected static final QName SERVICE_NAME = new 
QName("http://org.apache.cxf";, "hello");
+    protected static final QName OPERATION_NAME = new 
QName("http://org.apache.cxf";, "world");
+    protected static final QName PORT_NAME = new 
QName("http://org.apache.cxf";, "port");
     
     protected static final String CLIENT_SERVICE_ONAME =
-        "com.iona.tandoori:Type=Counter_Client,BusID=tandoori,ServiceName=\"" 
+        "org.apache.cxf:Type=Counter_Client,BusID=cxf,ServiceName=\"" 
         + SERVICE_NAME.toString() + "\",PortName=\"" 
         + PORT_NAME + "\"";
     protected static final String SERVER_SERVICE_ONAME = 
-        "com.iona.tandoori:Type=Counter_Server,BusID=tandoori,ServiceName=\"" 
+        "org.apache.cxf:Type=Counter_Server,BusID=cxf,ServiceName=\"" 
         + SERVICE_NAME.toString() + "\",PortName=\"" 
         + PORT_NAME + "\"";
     protected ObjectName clientServiceCounterOName;
@@ -93,7 +93,7 @@
         bus.getExtension(CounterRepository.class);
         EasyMock.expectLastCall().andReturn(cRepository);
         if (increase) {
-            EasyMock.expect(bus.getId()).andReturn("tandoori");
+            EasyMock.expect(bus.getId()).andReturn("cxf");
             cRepository.increaseCounter(EasyMock.eq(serviceCounterOName),
                                                
EasyMock.isA(MessageHandlingTimeRecorder.class));
             EasyMock.expectLastCall();


Reply via email to