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();