Author: veithen
Date: Fri Nov 7 06:36:19 2008
New Revision: 712137
URL: http://svn.apache.org/viewvc?rev=712137&view=rev
Log:
JMS transport: eliminated some duplicate code and added a review comment.
Modified:
webservices/commons/trunk/modules/transport/modules/jms/src/main/java/org/apache/axis2/transport/jms/JMSMessageReceiver.java
webservices/commons/trunk/modules/transport/modules/jms/src/main/java/org/apache/axis2/transport/jms/JMSSender.java
webservices/commons/trunk/modules/transport/modules/jms/src/main/java/org/apache/axis2/transport/jms/JMSUtils.java
Modified:
webservices/commons/trunk/modules/transport/modules/jms/src/main/java/org/apache/axis2/transport/jms/JMSMessageReceiver.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/transport/modules/jms/src/main/java/org/apache/axis2/transport/jms/JMSMessageReceiver.java?rev=712137&r1=712136&r2=712137&view=diff
==============================================================================
---
webservices/commons/trunk/modules/transport/modules/jms/src/main/java/org/apache/axis2/transport/jms/JMSMessageReceiver.java
(original)
+++
webservices/commons/trunk/modules/transport/modules/jms/src/main/java/org/apache/axis2/transport/jms/JMSMessageReceiver.java
Fri Nov 7 06:36:19 2008
@@ -101,13 +101,7 @@
// update transport level metrics
try {
- if (message instanceof BytesMessage) {
-
metrics.incrementBytesReceived((JMSUtils.getBodyLength((BytesMessage)
message)));
- } else if (message instanceof TextMessage) {
- metrics.incrementBytesReceived(((TextMessage)
message).getText().getBytes().length);
- } else {
- handleException("Unsupported JMS message type : " +
message.getClass().getName());
- }
+ metrics.incrementBytesReceived(JMSUtils.getMessageSize(message));
} catch (JMSException e) {
log.warn("Error reading JMS message size to update transport
metrics", e);
}
Modified:
webservices/commons/trunk/modules/transport/modules/jms/src/main/java/org/apache/axis2/transport/jms/JMSSender.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/transport/modules/jms/src/main/java/org/apache/axis2/transport/jms/JMSSender.java?rev=712137&r1=712136&r2=712137&view=diff
==============================================================================
---
webservices/commons/trunk/modules/transport/modules/jms/src/main/java/org/apache/axis2/transport/jms/JMSSender.java
(original)
+++
webservices/commons/trunk/modules/transport/modules/jms/src/main/java/org/apache/axis2/transport/jms/JMSSender.java
Fri Nov 7 06:36:19 2008
@@ -241,15 +241,7 @@
metrics.incrementMessagesSent();
try {
- if (message instanceof BytesMessage) {
-
metrics.incrementBytesSent(JMSUtils.getBodyLength((BytesMessage) message));
- } else if (message instanceof TextMessage) {
- metrics.incrementBytesSent((
- (TextMessage)
message).getText().getBytes().length);
- } else {
- handleException("Unsupported JMS message type : " +
- message.getClass().getName());
- }
+
metrics.incrementBytesSent(JMSUtils.getMessageSize(message));
} catch (JMSException e) {
log.warn("Error reading JMS message size to update
transport metrics", e);
}
@@ -335,15 +327,7 @@
// update transport level metrics
metrics.incrementMessagesReceived();
try {
- if (reply instanceof BytesMessage) {
-
metrics.incrementBytesReceived(JMSUtils.getBodyLength((BytesMessage) reply));
- } else if (reply instanceof TextMessage) {
- metrics.incrementBytesReceived((
- (TextMessage) reply).getText().getBytes().length);
- } else {
- handleException("Unsupported JMS message type : " +
- reply.getClass().getName());
- }
+
metrics.incrementBytesReceived(JMSUtils.getMessageSize(reply));
} catch (JMSException e) {
log.warn("Error reading JMS message size to update
transport metrics", e);
}
Modified:
webservices/commons/trunk/modules/transport/modules/jms/src/main/java/org/apache/axis2/transport/jms/JMSUtils.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/transport/modules/jms/src/main/java/org/apache/axis2/transport/jms/JMSUtils.java?rev=712137&r1=712136&r2=712137&view=diff
==============================================================================
---
webservices/commons/trunk/modules/transport/modules/jms/src/main/java/org/apache/axis2/transport/jms/JMSUtils.java
(original)
+++
webservices/commons/trunk/modules/transport/modules/jms/src/main/java/org/apache/axis2/transport/jms/JMSUtils.java
Fri Nov 7 06:36:19 2008
@@ -745,6 +745,20 @@
return length;
}
+ public static long getMessageSize(Message message) throws JMSException {
+ if (message instanceof BytesMessage) {
+ return JMSUtils.getBodyLength((BytesMessage) message);
+ } else if (message instanceof TextMessage) {
+ // TODO: Converting the whole message to a byte array is too much
overhead just to determine the message size.
+ // Anyway, the result is not accurate since we don't know
what encoding the JMS provider uses.
+ return ((TextMessage) message).getText().getBytes().length;
+ } else {
+ log.warn("Can't determine size of JMS message; unsupported message
type : "
+ + message.getClass().getName());
+ return 0;
+ }
+ }
+
public static <T> T lookup(Context context, Class<T> clazz, String name)
throws NamingException {