You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by yu...@apache.org on 2017/03/15 14:08:47 UTC
[09/50] [abbrv] incubator-rocketmq-externals git commit: Refactor two
classes's package
Refactor two classes's package
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/e0802f0f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/tree/e0802f0f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/diff/e0802f0f
Branch: refs/heads/jms-dev-1.1.0
Commit: e0802f0f024c15a08354a4be1c5e79e65165e018
Parents: 40bf4ce
Author: zhangke <zh...@qq.com>
Authored: Mon Feb 27 22:20:33 2017 +0800
Committer: zhangke <zh...@qq.com>
Committed: Mon Feb 27 22:20:33 2017 +0800
----------------------------------------------------------------------
.../org/apache/rocketmq/jms/JMSHeaderEnum.java | 44 ----------------
.../rocketmq/jms/JMSMessageModelEnum.java | 53 --------------------
.../org/apache/rocketmq/jms/JmsContent.java | 49 ------------------
.../apache/rocketmq/jms/RocketMQProducer.java | 8 +--
.../rocketmq/jms/hook/SendMessageHook.java | 3 ++
.../rocketmq/jms/msg/AbstractJMSMessage.java | 38 +++++++-------
.../jms/msg/convert/JMS2RMQMessageConvert.java | 8 +--
.../jms/msg/convert/RMQ2JMSMessageConvert.java | 6 +--
.../rocketmq/jms/msg/enums/JMSHeaderEnum.java | 44 ++++++++++++++++
.../jms/msg/enums/JMSMessageModelEnum.java | 53 ++++++++++++++++++++
10 files changed, 130 insertions(+), 176 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/e0802f0f/core/src/main/java/org/apache/rocketmq/jms/JMSHeaderEnum.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/rocketmq/jms/JMSHeaderEnum.java b/core/src/main/java/org/apache/rocketmq/jms/JMSHeaderEnum.java
deleted file mode 100644
index 4979f88..0000000
--- a/core/src/main/java/org/apache/rocketmq/jms/JMSHeaderEnum.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * 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;
-
-import javax.jms.Message;
-
-public enum JMSHeaderEnum {
-
- JMSDestination,
- JMSDeliveryMode,
- JMSMessageID,
- JMSTimestamp,
- JMSCorrelationID,
- JMSReplyTo,
- JMSRedelivered,
- JMSType,
- JMSExpiration,
- JMSPriority,
- JMSDeliveryTime;
-
- public static final int JMS_DELIVERY_MODE_DEFAULT_VALUE = Message.DEFAULT_DELIVERY_MODE;
- public static final long JMS_TIME_TO_LIVE_DEFAULT_VALUE = Message.DEFAULT_TIME_TO_LIVE;
- public static final int JMS_PRIORITY_DEFAULT_VALUE = Message.DEFAULT_PRIORITY;
- public static final long JMS_DELIVERY_TIME_DEFAULT_VALUE = Message.DEFAULT_DELIVERY_DELAY;
- public static final boolean JMS_REDELIVERED_DEFAULT_VALUE = false;
- public static final int JMS_TIMESTAMP_DEFAULT_VALUE = 0;
- public static final int JMS_EXPIRATION_DEFAULT_VALUE = 0;
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/e0802f0f/core/src/main/java/org/apache/rocketmq/jms/JMSMessageModelEnum.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/rocketmq/jms/JMSMessageModelEnum.java b/core/src/main/java/org/apache/rocketmq/jms/JMSMessageModelEnum.java
deleted file mode 100644
index feee4e3..0000000
--- a/core/src/main/java/org/apache/rocketmq/jms/JMSMessageModelEnum.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * 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;
-
-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;
-
-public enum JMSMessageModelEnum {
- BYTE(JMSBytesMessage.class),
- MAP(JMSMapMessage.class),
- OBJECT(JMSObjectMessage.class),
- STRING(JMSTextMessage.class);
-
- public static final String MSG_MODEL_NAME = "MsgModel";
-
- private Class jmsClass;
-
- JMSMessageModelEnum(Class jmsClass) {
- this.jmsClass = jmsClass;
- }
-
- public static JMSMessageModelEnum toMsgModelEnum(AbstractJMSMessage jmsMsg) {
- for (JMSMessageModelEnum e : values()) {
- if (e.getJmsClass().isInstance(jmsMsg)) {
- return e;
- }
- }
-
- throw new IllegalArgumentException(String.format("Not supported class[%s]", jmsMsg.getClass().getSimpleName()));
- }
-
- public Class getJmsClass() {
- return jmsClass;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/e0802f0f/core/src/main/java/org/apache/rocketmq/jms/JmsContent.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/rocketmq/jms/JmsContent.java b/core/src/main/java/org/apache/rocketmq/jms/JmsContent.java
deleted file mode 100644
index 1f5728e..0000000
--- a/core/src/main/java/org/apache/rocketmq/jms/JmsContent.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * 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;
-
-public class JmsContent {
-
- private String messageModel;
-
- private byte[] content;
-
- public JmsContent() {
- }
-
- public JmsContent(String messageModel, byte[] content) {
- this.messageModel = messageModel;
- this.content = content;
- }
-
- public String getMessageModel() {
- return messageModel;
- }
-
- public void setMessageModel(String messageModel) {
- this.messageModel = messageModel;
- }
-
- public byte[] getContent() {
- return content;
- }
-
- public void setContent(byte[] content) {
- this.content = content;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/e0802f0f/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 109f3bb..64f7438 100644
--- a/core/src/main/java/org/apache/rocketmq/jms/RocketMQProducer.java
+++ b/core/src/main/java/org/apache/rocketmq/jms/RocketMQProducer.java
@@ -38,10 +38,10 @@ import org.slf4j.LoggerFactory;
import static java.lang.String.format;
import static org.apache.commons.lang.exception.ExceptionUtils.getStackTrace;
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMS_DELIVERY_MODE_DEFAULT_VALUE;
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMS_DELIVERY_TIME_DEFAULT_VALUE;
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMS_PRIORITY_DEFAULT_VALUE;
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMS_TIME_TO_LIVE_DEFAULT_VALUE;
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMS_DELIVERY_MODE_DEFAULT_VALUE;
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMS_DELIVERY_TIME_DEFAULT_VALUE;
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMS_PRIORITY_DEFAULT_VALUE;
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMS_TIME_TO_LIVE_DEFAULT_VALUE;
import static org.apache.rocketmq.jms.support.DirectTypeConverter.convert2Object;
public class RocketMQProducer implements MessageProducer {
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/e0802f0f/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 2e33cd8..e11c9fb 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
@@ -25,6 +25,9 @@ import org.apache.rocketmq.jms.RocketMQProducer;
import static org.apache.rocketmq.jms.Constant.MESSAGE_ID_PREFIX;
+/**
+ * Hook that executes before sending message.
+ */
public class SendMessageHook {
private RocketMQProducer producer;
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/e0802f0f/core/src/main/java/org/apache/rocketmq/jms/msg/AbstractJMSMessage.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/rocketmq/jms/msg/AbstractJMSMessage.java b/core/src/main/java/org/apache/rocketmq/jms/msg/AbstractJMSMessage.java
index ef47db0..226c51b 100644
--- a/core/src/main/java/org/apache/rocketmq/jms/msg/AbstractJMSMessage.java
+++ b/core/src/main/java/org/apache/rocketmq/jms/msg/AbstractJMSMessage.java
@@ -26,25 +26,25 @@ import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.MessageNotWriteableException;
import org.apache.commons.lang.builder.ToStringBuilder;
-import org.apache.rocketmq.jms.JMSHeaderEnum;
-
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMSCorrelationID;
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMSDeliveryMode;
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMSDeliveryTime;
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMSDestination;
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMSExpiration;
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMSMessageID;
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMSPriority;
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMSRedelivered;
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMSReplyTo;
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMSTimestamp;
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMSType;
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMS_DELIVERY_MODE_DEFAULT_VALUE;
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMS_DELIVERY_TIME_DEFAULT_VALUE;
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMS_EXPIRATION_DEFAULT_VALUE;
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMS_PRIORITY_DEFAULT_VALUE;
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMS_REDELIVERED_DEFAULT_VALUE;
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMS_TIMESTAMP_DEFAULT_VALUE;
+import org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum;
+
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMSCorrelationID;
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMSDeliveryMode;
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMSDeliveryTime;
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMSDestination;
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMSExpiration;
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMSMessageID;
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMSPriority;
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMSRedelivered;
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMSReplyTo;
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMSTimestamp;
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMSType;
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMS_DELIVERY_MODE_DEFAULT_VALUE;
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMS_DELIVERY_TIME_DEFAULT_VALUE;
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMS_EXPIRATION_DEFAULT_VALUE;
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMS_PRIORITY_DEFAULT_VALUE;
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMS_REDELIVERED_DEFAULT_VALUE;
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMS_TIMESTAMP_DEFAULT_VALUE;
import static org.apache.rocketmq.jms.support.DirectTypeConverter.convert2Boolean;
import static org.apache.rocketmq.jms.support.DirectTypeConverter.convert2Integer;
import static org.apache.rocketmq.jms.support.DirectTypeConverter.convert2Long;
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/e0802f0f/core/src/main/java/org/apache/rocketmq/jms/msg/convert/JMS2RMQMessageConvert.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/rocketmq/jms/msg/convert/JMS2RMQMessageConvert.java b/core/src/main/java/org/apache/rocketmq/jms/msg/convert/JMS2RMQMessageConvert.java
index 2dd4977..059fdde 100644
--- a/core/src/main/java/org/apache/rocketmq/jms/msg/convert/JMS2RMQMessageConvert.java
+++ b/core/src/main/java/org/apache/rocketmq/jms/msg/convert/JMS2RMQMessageConvert.java
@@ -22,10 +22,10 @@ import javax.jms.JMSException;
import org.apache.rocketmq.common.message.MessageExt;
import org.apache.rocketmq.jms.msg.AbstractJMSMessage;
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMSExpiration;
-import static org.apache.rocketmq.jms.JMSHeaderEnum.JMSMessageID;
-import static org.apache.rocketmq.jms.JMSMessageModelEnum.MSG_MODEL_NAME;
-import static org.apache.rocketmq.jms.JMSMessageModelEnum.toMsgModelEnum;
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMSExpiration;
+import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMSMessageID;
+import static org.apache.rocketmq.jms.msg.enums.JMSMessageModelEnum.MSG_MODEL_NAME;
+import static org.apache.rocketmq.jms.msg.enums.JMSMessageModelEnum.toMsgModelEnum;
public class JMS2RMQMessageConvert {
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/e0802f0f/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 4fa197b..89f551a 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,8 +21,8 @@ import java.util.Map;
import javax.jms.JMSException;
import javax.jms.Message;
import org.apache.rocketmq.common.message.MessageExt;
-import org.apache.rocketmq.jms.JMSHeaderEnum;
-import org.apache.rocketmq.jms.JMSMessageModelEnum;
+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;
@@ -34,7 +34,7 @@ import org.apache.rocketmq.jms.msg.serialize.ObjectSerialize;
import org.apache.rocketmq.jms.msg.serialize.StringSerialize;
import static java.lang.String.format;
-import static org.apache.rocketmq.jms.JMSMessageModelEnum.MSG_MODEL_NAME;
+import static org.apache.rocketmq.jms.msg.enums.JMSMessageModelEnum.MSG_MODEL_NAME;
public class RMQ2JMSMessageConvert {
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/e0802f0f/core/src/main/java/org/apache/rocketmq/jms/msg/enums/JMSHeaderEnum.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/rocketmq/jms/msg/enums/JMSHeaderEnum.java b/core/src/main/java/org/apache/rocketmq/jms/msg/enums/JMSHeaderEnum.java
new file mode 100644
index 0000000..cb27675
--- /dev/null
+++ b/core/src/main/java/org/apache/rocketmq/jms/msg/enums/JMSHeaderEnum.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.msg.enums;
+
+import javax.jms.Message;
+
+public enum JMSHeaderEnum {
+
+ JMSDestination,
+ JMSDeliveryMode,
+ JMSMessageID,
+ JMSTimestamp,
+ JMSCorrelationID,
+ JMSReplyTo,
+ JMSRedelivered,
+ JMSType,
+ JMSExpiration,
+ JMSPriority,
+ JMSDeliveryTime;
+
+ public static final int JMS_DELIVERY_MODE_DEFAULT_VALUE = Message.DEFAULT_DELIVERY_MODE;
+ public static final long JMS_TIME_TO_LIVE_DEFAULT_VALUE = Message.DEFAULT_TIME_TO_LIVE;
+ public static final int JMS_PRIORITY_DEFAULT_VALUE = Message.DEFAULT_PRIORITY;
+ public static final long JMS_DELIVERY_TIME_DEFAULT_VALUE = Message.DEFAULT_DELIVERY_DELAY;
+ public static final boolean JMS_REDELIVERED_DEFAULT_VALUE = false;
+ public static final int JMS_TIMESTAMP_DEFAULT_VALUE = 0;
+ public static final int JMS_EXPIRATION_DEFAULT_VALUE = 0;
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/e0802f0f/core/src/main/java/org/apache/rocketmq/jms/msg/enums/JMSMessageModelEnum.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/rocketmq/jms/msg/enums/JMSMessageModelEnum.java b/core/src/main/java/org/apache/rocketmq/jms/msg/enums/JMSMessageModelEnum.java
new file mode 100644
index 0000000..f7dc15a
--- /dev/null
+++ b/core/src/main/java/org/apache/rocketmq/jms/msg/enums/JMSMessageModelEnum.java
@@ -0,0 +1,53 @@
+/*
+ * 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;
+
+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;
+
+public enum JMSMessageModelEnum {
+ BYTE(JMSBytesMessage.class),
+ MAP(JMSMapMessage.class),
+ OBJECT(JMSObjectMessage.class),
+ STRING(JMSTextMessage.class);
+
+ public static final String MSG_MODEL_NAME = "MsgModel";
+
+ private Class jmsClass;
+
+ JMSMessageModelEnum(Class jmsClass) {
+ this.jmsClass = jmsClass;
+ }
+
+ public static JMSMessageModelEnum toMsgModelEnum(AbstractJMSMessage jmsMsg) {
+ for (JMSMessageModelEnum e : values()) {
+ if (e.getJmsClass().isInstance(jmsMsg)) {
+ return e;
+ }
+ }
+
+ throw new IllegalArgumentException(String.format("Not supported class[%s]", jmsMsg.getClass().getSimpleName()));
+ }
+
+ public Class getJmsClass() {
+ return jmsClass;
+ }
+}