Support part of JMS build-int properties

Project: 
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/commit/53cb5348
Tree: 
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/tree/53cb5348
Diff: 
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/diff/53cb5348

Branch: refs/heads/jms-dev-1.1.0
Commit: 53cb5348afbfee2d2c21eaebdd6614aab3af9a93
Parents: 815f2f2
Author: zhangke <zhangke_beij...@qq.com>
Authored: Tue Feb 28 07:36:23 2017 +0800
Committer: zhangke <zhangke_beij...@qq.com>
Committed: Tue Feb 28 07:36:23 2017 +0800

----------------------------------------------------------------------
 .../rocketmq/jms/DeliverMessageService.java     | 13 ++++--
 .../apache/rocketmq/jms/RocketMQConnection.java | 19 ++++++---
 .../rocketmq/jms/RocketMQConnectionFactory.java |  4 +-
 .../jms/RocketMQConnectionMetaData.java         | 31 ++++++--------
 .../apache/rocketmq/jms/RocketMQProducer.java   |  4 ++
 .../jms/exception/MessageExpiredException.java  | 31 ++++++++++++++
 .../rocketmq/jms/hook/ReceiveMessageHook.java   | 44 ++++++++++++++++++++
 .../rocketmq/jms/hook/SendMessageHook.java      | 11 ++++-
 .../jms/msg/convert/RMQ2JMSMessageConvert.java  |  7 +++-
 .../jms/msg/enums/JMSPropertiesEnum.java        | 26 ++++++++++++
 .../rocketmq/jms/support/ObjectTypeCast.java    | 10 ++---
 .../rocketmq/jms/support/PrimitiveTypeCast.java | 20 ++++-----
 12 files changed, 173 insertions(+), 47 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/53cb5348/core/src/main/java/org/apache/rocketmq/jms/DeliverMessageService.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/rocketmq/jms/DeliverMessageService.java 
b/core/src/main/java/org/apache/rocketmq/jms/DeliverMessageService.java
index da37adf..e86ce92 100644
--- a/core/src/main/java/org/apache/rocketmq/jms/DeliverMessageService.java
+++ b/core/src/main/java/org/apache/rocketmq/jms/DeliverMessageService.java
@@ -38,6 +38,8 @@ import org.apache.rocketmq.client.exception.MQClientException;
 import org.apache.rocketmq.common.ServiceThread;
 import org.apache.rocketmq.common.message.MessageExt;
 import org.apache.rocketmq.common.message.MessageQueue;
+import org.apache.rocketmq.jms.exception.MessageExpiredException;
+import org.apache.rocketmq.jms.hook.ReceiveMessageHook;
 import org.apache.rocketmq.jms.msg.convert.RMQ2JMSMessageConvert;
 import org.apache.rocketmq.jms.support.JMSUtils;
 import org.slf4j.Logger;
@@ -63,6 +65,7 @@ public class DeliverMessageService extends ServiceThread {
 
     /** only support RMQ subExpression */
     private String messageSelector;
+    private ReceiveMessageHook hook = new ReceiveMessageHook();
 
     /**
      * If durable is true, consume message from the offset consumed last time.
@@ -184,10 +187,14 @@ public class DeliverMessageService extends ServiceThread {
      */
     private void handleMessage(MessageExt msg, MessageQueue mq) throws 
InterruptedException, JMSException {
         Message jmsMessage = RMQ2JMSMessageConvert.convert(msg);
-        if (jmsMessage.getJMSExpiration() != 0 && System.currentTimeMillis() > 
jmsMessage.getJMSExpiration()) {
-            log.debug("The message[id={}] has been expired", msg.getMsgId());
-            return;
+
+        try {
+            hook.before(jmsMessage);
         }
+        catch (MessageExpiredException e) {
+            log.debug(e.getMessage());
+        }
+
         final MessageWrapper wrapper = new MessageWrapper(jmsMessage, 
this.consumer, mq, msg.getQueueOffset());
 
         switch (this.consumeModel) {

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/53cb5348/core/src/main/java/org/apache/rocketmq/jms/RocketMQConnection.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/rocketmq/jms/RocketMQConnection.java 
b/core/src/main/java/org/apache/rocketmq/jms/RocketMQConnection.java
index c68f04a..282c86e 100644
--- a/core/src/main/java/org/apache/rocketmq/jms/RocketMQConnection.java
+++ b/core/src/main/java/org/apache/rocketmq/jms/RocketMQConnection.java
@@ -17,10 +17,6 @@
 
 package org.apache.rocketmq.jms;
 
-import org.apache.rocketmq.client.ClientConfig;
-import org.apache.rocketmq.client.exception.MQClientException;
-import org.apache.rocketmq.client.impl.MQClientManager;
-import org.apache.rocketmq.client.impl.factory.MQClientInstance;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicBoolean;
@@ -36,6 +32,10 @@ import javax.jms.ServerSessionPool;
 import javax.jms.Session;
 import javax.jms.Topic;
 import org.apache.commons.lang.builder.ToStringBuilder;
+import org.apache.rocketmq.client.ClientConfig;
+import org.apache.rocketmq.client.exception.MQClientException;
+import org.apache.rocketmq.client.impl.MQClientManager;
+import org.apache.rocketmq.client.impl.factory.MQClientInstance;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -52,12 +52,17 @@ public class RocketMQConnection implements Connection {
     private String clientID;
     private ClientConfig clientConfig;
     private MQClientInstance clientInstance;
+    private String userName;
+    private String password;
 
     private List<RocketMQSession> sessionList = new ArrayList();
     private AtomicBoolean started = new AtomicBoolean(false);
 
-    protected RocketMQConnection(String nameServerAddress, String clientID, 
String instanceName) {
+    protected RocketMQConnection(String nameServerAddress, String clientID, 
String instanceName, String userName,
+        String password) {
         this.clientID = clientID;
+        this.userName = userName;
+        this.password = password;
 
         this.clientConfig = new ClientConfig();
         this.clientConfig.setNamesrvAddr(nameServerAddress);
@@ -216,6 +221,10 @@ public class RocketMQConnection implements Connection {
         return clientConfig;
     }
 
+    public String getUserName() {
+        return userName;
+    }
+
     @Override public String toString() {
         return new ToStringBuilder(this)
             .append("nameServerAddress", this.clientConfig.getNamesrvAddr())

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/53cb5348/core/src/main/java/org/apache/rocketmq/jms/RocketMQConnectionFactory.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/rocketmq/jms/RocketMQConnectionFactory.java 
b/core/src/main/java/org/apache/rocketmq/jms/RocketMQConnectionFactory.java
index aff3839..c81e8b5 100644
--- a/core/src/main/java/org/apache/rocketmq/jms/RocketMQConnectionFactory.java
+++ b/core/src/main/java/org/apache/rocketmq/jms/RocketMQConnectionFactory.java
@@ -17,11 +17,11 @@
 
 package org.apache.rocketmq.jms;
 
-import org.apache.rocketmq.client.impl.factory.MQClientInstance;
 import javax.jms.Connection;
 import javax.jms.ConnectionFactory;
 import javax.jms.JMSContext;
 import javax.jms.JMSException;
+import org.apache.rocketmq.client.impl.factory.MQClientInstance;
 import org.apache.rocketmq.jms.support.JMSUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -80,7 +80,7 @@ public class RocketMQConnectionFactory implements 
ConnectionFactory {
 
     private Connection createRocketMQConnection(String userName, String 
password) throws JMSException {
         final String instanceName = JMSUtils.uuid();
-        RocketMQConnection connection = new 
RocketMQConnection(this.nameServerAddress, this.clientId, instanceName);
+        RocketMQConnection connection = new 
RocketMQConnection(this.nameServerAddress, this.clientId, instanceName, 
userName, password);
 
         log.info("Create a connection 
successfully[instanceName:{},clientIdentifier:{},userName:{}", instanceName, 
clientId, userName);
         return connection;

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/53cb5348/core/src/main/java/org/apache/rocketmq/jms/RocketMQConnectionMetaData.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/rocketmq/jms/RocketMQConnectionMetaData.java 
b/core/src/main/java/org/apache/rocketmq/jms/RocketMQConnectionMetaData.java
index 1f88002..e4353e1 100644
--- a/core/src/main/java/org/apache/rocketmq/jms/RocketMQConnectionMetaData.java
+++ b/core/src/main/java/org/apache/rocketmq/jms/RocketMQConnectionMetaData.java
@@ -17,16 +17,16 @@
 
 package org.apache.rocketmq.jms;
 
-import org.apache.rocketmq.jms.support.ProviderVersion;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.jms.ConnectionMetaData;
-import javax.jms.JMSException;
 import java.util.Enumeration;
 import java.util.Vector;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
+import javax.jms.ConnectionMetaData;
+import javax.jms.JMSException;
+import org.apache.rocketmq.jms.msg.enums.JMSPropertiesEnum;
+import org.apache.rocketmq.jms.support.ProviderVersion;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class RocketMQConnectionMetaData implements ConnectionMetaData {
 
@@ -59,7 +59,8 @@ public class RocketMQConnectionMetaData implements 
ConnectionMetaData {
                     jmsMinor = Integer.parseInt(m.group(2));
                 }
             }
-        } catch (Throwable e) {
+        }
+        catch (Throwable e) {
             log.error("Error during getting jms version", e);
         }
 
@@ -105,17 +106,11 @@ public class RocketMQConnectionMetaData implements 
ConnectionMetaData {
     }
 
     public Enumeration<?> getJMSXPropertyNames() throws JMSException {
-        Vector<String> jmxProperties = new Vector<String>();
-        jmxProperties.add("jmsXUserId");
-        jmxProperties.add("jmsXAppId");
-        jmxProperties.add("jmsXGroupID");
-        jmxProperties.add("jmsXGroupSeq");
-        jmxProperties.add("jmsXState");
-        jmxProperties.add("jmsXDeliveryCount");
-        jmxProperties.add("jmsXProducerTXID");
-        jmxProperties.add("jmsConsumerTXID");
-        jmxProperties.add("jmsRecvTimeStamp");
-        return jmxProperties.elements();
+        Vector<String> result = new Vector<String>();
+        for (JMSPropertiesEnum e : JMSPropertiesEnum.values()) {
+            result.add(e.name());
+        }
+        return result.elements();
     }
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/53cb5348/core/src/main/java/org/apache/rocketmq/jms/RocketMQProducer.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/rocketmq/jms/RocketMQProducer.java 
b/core/src/main/java/org/apache/rocketmq/jms/RocketMQProducer.java
index 83b760a..6b4f394 100644
--- a/core/src/main/java/org/apache/rocketmq/jms/RocketMQProducer.java
+++ b/core/src/main/java/org/apache/rocketmq/jms/RocketMQProducer.java
@@ -243,6 +243,10 @@ public class RocketMQProducer implements MessageProducer {
         sendAsync(rmqMsg, completionListener);
     }
 
+    public RocketMQSession getSession() {
+        return session;
+    }
+
     public void setSession(RocketMQSession session) {
         this.session = session;
     }

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/53cb5348/core/src/main/java/org/apache/rocketmq/jms/exception/MessageExpiredException.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/rocketmq/jms/exception/MessageExpiredException.java
 
b/core/src/main/java/org/apache/rocketmq/jms/exception/MessageExpiredException.java
new file mode 100644
index 0000000..d35b7b1
--- /dev/null
+++ 
b/core/src/main/java/org/apache/rocketmq/jms/exception/MessageExpiredException.java
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.rocketmq.jms.exception;
+
+import javax.jms.JMSException;
+
+public class MessageExpiredException extends JMSException {
+
+    public MessageExpiredException(String reason, String errorCode) {
+        super(reason, errorCode);
+    }
+
+    public MessageExpiredException(String reason) {
+        super(reason);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/53cb5348/core/src/main/java/org/apache/rocketmq/jms/hook/ReceiveMessageHook.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/rocketmq/jms/hook/ReceiveMessageHook.java 
b/core/src/main/java/org/apache/rocketmq/jms/hook/ReceiveMessageHook.java
new file mode 100644
index 0000000..2bf9bd3
--- /dev/null
+++ b/core/src/main/java/org/apache/rocketmq/jms/hook/ReceiveMessageHook.java
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.rocketmq.jms.hook;
+
+import javax.jms.JMSException;
+import javax.jms.Message;
+import org.apache.rocketmq.jms.exception.MessageExpiredException;
+import org.apache.rocketmq.jms.msg.enums.JMSPropertiesEnum;
+
+public class ReceiveMessageHook {
+
+    public void before(Message message) throws JMSException {
+
+        validate(message);
+
+        setProviderProperties(message);
+    }
+
+    private void validate(Message message) throws JMSException {
+        if (message.getJMSExpiration() != 0 && System.currentTimeMillis() > 
message.getJMSExpiration()) {
+            throw new MessageExpiredException(String.format("This 
message[id=%s] has been expired", message.getJMSMessageID()));
+        }
+    }
+
+    public void setProviderProperties(Message message) throws JMSException {
+        //JMSXRcvTimestamp
+        message.setLongProperty(JMSPropertiesEnum.JMSXRcvTimestamp.name(), 
System.currentTimeMillis());
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/53cb5348/core/src/main/java/org/apache/rocketmq/jms/hook/SendMessageHook.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/rocketmq/jms/hook/SendMessageHook.java 
b/core/src/main/java/org/apache/rocketmq/jms/hook/SendMessageHook.java
index fcd0579..a20fb98 100644
--- a/core/src/main/java/org/apache/rocketmq/jms/hook/SendMessageHook.java
+++ b/core/src/main/java/org/apache/rocketmq/jms/hook/SendMessageHook.java
@@ -26,6 +26,7 @@ import 
org.apache.rocketmq.jms.exception.UnsupportDeliveryModelException;
 import org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum;
 
 import static org.apache.rocketmq.jms.Constant.MESSAGE_ID_PREFIX;
+import static org.apache.rocketmq.jms.msg.enums.JMSPropertiesEnum.JMSXUserID;
 
 /**
  * Hook that executes before sending message.
@@ -46,11 +47,12 @@ public class SendMessageHook {
 
         validate(deliveryMode);
 
-        setHeader(message, destination, deliveryMode, priority, timeToLive);
+        setProviderHeader(message, destination, deliveryMode, priority, 
timeToLive);
 
+        setProviderProperties(message);
     }
 
-    private void setHeader(Message message, Destination destination, int 
deliveryMode, int priority,
+    private void setProviderHeader(Message message, Destination destination, 
int deliveryMode, int priority,
         long timeToLive) throws JMSException {
         // destination
         message.setJMSDestination(destination);
@@ -89,6 +91,11 @@ public class SendMessageHook {
         }
     }
 
+    public void setProviderProperties(Message message) throws JMSException {
+        // JMSXUserID
+        message.setStringProperty(JMSXUserID.name(), 
this.producer.getSession().getConnection().getUserName());
+    }
+
     public void setProducer(RocketMQProducer producer) {
         this.producer = producer;
     }

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/53cb5348/core/src/main/java/org/apache/rocketmq/jms/msg/convert/RMQ2JMSMessageConvert.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/rocketmq/jms/msg/convert/RMQ2JMSMessageConvert.java
 
b/core/src/main/java/org/apache/rocketmq/jms/msg/convert/RMQ2JMSMessageConvert.java
index 89f551a..a86efd8 100644
--- 
a/core/src/main/java/org/apache/rocketmq/jms/msg/convert/RMQ2JMSMessageConvert.java
+++ 
b/core/src/main/java/org/apache/rocketmq/jms/msg/convert/RMQ2JMSMessageConvert.java
@@ -21,14 +21,15 @@ import java.util.Map;
 import javax.jms.JMSException;
 import javax.jms.Message;
 import org.apache.rocketmq.common.message.MessageExt;
-import org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum;
-import org.apache.rocketmq.jms.msg.enums.JMSMessageModelEnum;
 import org.apache.rocketmq.jms.RocketMQTopic;
 import org.apache.rocketmq.jms.msg.AbstractJMSMessage;
 import org.apache.rocketmq.jms.msg.JMSBytesMessage;
 import org.apache.rocketmq.jms.msg.JMSMapMessage;
 import org.apache.rocketmq.jms.msg.JMSObjectMessage;
 import org.apache.rocketmq.jms.msg.JMSTextMessage;
+import org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum;
+import org.apache.rocketmq.jms.msg.enums.JMSMessageModelEnum;
+import org.apache.rocketmq.jms.msg.enums.JMSPropertiesEnum;
 import org.apache.rocketmq.jms.msg.serialize.MapSerialize;
 import org.apache.rocketmq.jms.msg.serialize.ObjectSerialize;
 import org.apache.rocketmq.jms.msg.serialize.StringSerialize;
@@ -83,6 +84,8 @@ public class RMQ2JMSMessageConvert {
     }
 
     private static void setProperties(MessageExt rmqMsg, AbstractJMSMessage 
jmsMsg) {
+        jmsMsg.setIntProperty(JMSPropertiesEnum.JMSXDeliveryCount.name(), 
rmqMsg.getReconsumeTimes() + 1);
+
         Map<String, String> propertiesMap = rmqMsg.getProperties();
         if (propertiesMap != null) {
             for (String properName : propertiesMap.keySet()) {

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/53cb5348/core/src/main/java/org/apache/rocketmq/jms/msg/enums/JMSPropertiesEnum.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/rocketmq/jms/msg/enums/JMSPropertiesEnum.java 
b/core/src/main/java/org/apache/rocketmq/jms/msg/enums/JMSPropertiesEnum.java
new file mode 100644
index 0000000..dd5955b
--- /dev/null
+++ 
b/core/src/main/java/org/apache/rocketmq/jms/msg/enums/JMSPropertiesEnum.java
@@ -0,0 +1,26 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.rocketmq.jms.msg.enums;
+
+public enum JMSPropertiesEnum {
+    JMSXUserID,
+    JMSXDeliveryCount,
+    JMSXGroupID,
+    JMSXGroupSeq,
+    JMSXRcvTimestamp
+}

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/53cb5348/core/src/main/java/org/apache/rocketmq/jms/support/ObjectTypeCast.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/rocketmq/jms/support/ObjectTypeCast.java 
b/core/src/main/java/org/apache/rocketmq/jms/support/ObjectTypeCast.java
index 15d3190..3ff1d69 100644
--- a/core/src/main/java/org/apache/rocketmq/jms/support/ObjectTypeCast.java
+++ b/core/src/main/java/org/apache/rocketmq/jms/support/ObjectTypeCast.java
@@ -30,7 +30,7 @@ public class ObjectTypeCast {
         if (String.class.isInstance(obj)) {
             return (String) obj;
         }
-        throw new ClassCastException("To converted object is " + 
obj.getClass() + ", not String.class");
+        throw new ClassCastException("To casted object is " + obj.getClass() + 
", not String.class");
     }
 
     public static Long cast2Long(Object obj) {
@@ -40,7 +40,7 @@ public class ObjectTypeCast {
         if (Long.class.isInstance(obj)) {
             return (Long) obj;
         }
-        throw new ClassCastException("To converted object is " + 
obj.getClass() + ", not Long.class");
+        throw new ClassCastException("To casted object is " + obj.getClass() + 
", not Long.class");
     }
 
     public static Integer cast2Integer(Object obj) {
@@ -50,7 +50,7 @@ public class ObjectTypeCast {
         if (Integer.class.isInstance(obj)) {
             return (Integer) obj;
         }
-        throw new ClassCastException("To converted object is " + 
obj.getClass() + ", not Integer.class");
+        throw new ClassCastException("To casted object is " + obj.getClass() + 
", not Integer.class");
     }
 
     public static Boolean cast2Boolean(Object obj) {
@@ -60,7 +60,7 @@ public class ObjectTypeCast {
         if (Boolean.class.isInstance(obj)) {
             return (Boolean) obj;
         }
-        throw new ClassCastException("To converted object is " + 
obj.getClass() + ", not Boolean.class");
+        throw new ClassCastException("To casted object is " + obj.getClass() + 
", not Boolean.class");
     }
 
     public static <T> T cast2Object(Object obj, Class<T> target) {
@@ -70,6 +70,6 @@ public class ObjectTypeCast {
         if (target.isInstance(obj)) {
             return (T) obj;
         }
-        throw new ClassCastException("To converted object is " + 
obj.getClass() + ", not " + target.getSimpleName() + ".class");
+        throw new ClassCastException("To casted object is " + obj.getClass() + 
", not " + target.getSimpleName() + ".class");
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/53cb5348/core/src/main/java/org/apache/rocketmq/jms/support/PrimitiveTypeCast.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/rocketmq/jms/support/PrimitiveTypeCast.java 
b/core/src/main/java/org/apache/rocketmq/jms/support/PrimitiveTypeCast.java
index c6cda19..6e24ab0 100644
--- a/core/src/main/java/org/apache/rocketmq/jms/support/PrimitiveTypeCast.java
+++ b/core/src/main/java/org/apache/rocketmq/jms/support/PrimitiveTypeCast.java
@@ -63,7 +63,7 @@ public class PrimitiveTypeCast {
             return Boolean.valueOf((String) obj);
         }
 
-        throw new JMSException("Incorrect type[" + obj.getClass() + "] to 
convert");
+        throw new JMSException("Incorrect type[" + obj.getClass() + "] to 
cast");
     }
 
     public static byte cast2Byte(Object obj) throws JMSException {
@@ -78,7 +78,7 @@ public class PrimitiveTypeCast {
             return Byte.valueOf((String) obj);
         }
 
-        throw new JMSException("Incorrect type[" + obj.getClass() + "] to 
convert");
+        throw new JMSException("Incorrect type[" + obj.getClass() + "] to 
cast");
     }
 
     public static short cast2Short(Object obj) throws JMSException {
@@ -96,7 +96,7 @@ public class PrimitiveTypeCast {
             return Short.valueOf((String) obj);
         }
 
-        throw new JMSException("Incorrect type[" + obj.getClass() + "] to 
convert");
+        throw new JMSException("Incorrect type[" + obj.getClass() + "] to 
cast");
     }
 
     public static char cast2Char(Object obj) throws JMSException {
@@ -108,7 +108,7 @@ public class PrimitiveTypeCast {
             return (Character) obj;
         }
 
-        throw new JMSException("Incorrect type[" + obj.getClass() + "] to 
convert");
+        throw new JMSException("Incorrect type[" + obj.getClass() + "] to 
cast");
     }
 
     public static int cast2Int(Object obj) throws JMSException {
@@ -129,7 +129,7 @@ public class PrimitiveTypeCast {
             return Integer.parseInt((String) obj);
         }
 
-        throw new JMSException("Incorrect type[" + obj.getClass() + "] to 
convert");
+        throw new JMSException("Incorrect type[" + obj.getClass() + "] to 
cast");
     }
 
     public static long cast2Long(Object obj) throws JMSException {
@@ -153,7 +153,7 @@ public class PrimitiveTypeCast {
             return Long.parseLong((String) obj);
         }
 
-        throw new JMSException("Incorrect type[" + obj.getClass() + "] to 
convert");
+        throw new JMSException("Incorrect type[" + obj.getClass() + "] to 
cast");
     }
 
     public static float cast2Float(Object obj) throws JMSException {
@@ -168,7 +168,7 @@ public class PrimitiveTypeCast {
             return Float.parseFloat((String) obj);
         }
 
-        throw new JMSException("Incorrect type[" + obj.getClass() + "] to 
convert");
+        throw new JMSException("Incorrect type[" + obj.getClass() + "] to 
cast");
     }
 
     public static double cast2Double(Object obj) throws JMSException {
@@ -186,7 +186,7 @@ public class PrimitiveTypeCast {
             return Double.parseDouble((String) obj);
         }
 
-        throw new JMSException("Incorrect type[" + obj.getClass() + "] to 
convert");
+        throw new JMSException("Incorrect type[" + obj.getClass() + "] to 
cast");
     }
 
     public static String cast2String(Object obj) throws JMSException {
@@ -207,7 +207,7 @@ public class PrimitiveTypeCast {
             return obj.toString();
         }
 
-        throw new JMSException("Incorrect type[" + obj.getClass() + "] to 
convert");
+        throw new JMSException("Incorrect type[" + obj.getClass() + "] to 
cast");
     }
 
     public static byte[] cast2ByteArray(Object obj) throws JMSException {
@@ -215,6 +215,6 @@ public class PrimitiveTypeCast {
             return (byte[]) obj;
         }
 
-        throw new JMSException("Incorrect type[" + obj.getClass() + "] to 
convert");
+        throw new JMSException("Incorrect type[" + obj.getClass() + "] to 
cast");
     }
 }

Reply via email to