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 2016/12/28 02:44:14 UTC
[18/58] [abbrv] [partial] incubator-rocketmq git commit: ROCKETMQ-18
Rename package name from com.alibaba to org.apache
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/UtilAll.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/UtilAll.java b/common/src/main/java/com/alibaba/rocketmq/common/UtilAll.java
deleted file mode 100644
index 4429e3d..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/UtilAll.java
+++ /dev/null
@@ -1,525 +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 com.alibaba.rocketmq.common;
-
-import com.alibaba.rocketmq.remoting.common.RemotingHelper;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.IOException;
-import java.lang.management.ManagementFactory;
-import java.lang.management.RuntimeMXBean;
-import java.net.Inet4Address;
-import java.net.InetAddress;
-import java.net.NetworkInterface;
-import java.text.NumberFormat;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.*;
-import java.util.zip.CRC32;
-import java.util.zip.DeflaterOutputStream;
-import java.util.zip.InflaterInputStream;
-
-
-/**
- * @author shijia.wxr
- */
-public class UtilAll {
- public static final String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
- public static final String YYYY_MM_DD_HH_MM_SS_SSS = "yyyy-MM-dd#HH:mm:ss:SSS";
- public static final String YYYY_MMDD_HHMMSS = "yyyyMMddHHmmss";
-
-
- public static int getPid() {
- RuntimeMXBean runtime = ManagementFactory.getRuntimeMXBean();
- String name = runtime.getName(); // format: "pid@hostname"
- try {
- return Integer.parseInt(name.substring(0, name.indexOf('@')));
- } catch (Exception e) {
- return -1;
- }
- }
-
- public static String currentStackTrace() {
- StringBuilder sb = new StringBuilder();
- StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
- for (StackTraceElement ste : stackTrace) {
- sb.append("\n\t");
- sb.append(ste.toString());
- }
-
- return sb.toString();
- }
-
- public static String offset2FileName(final long offset) {
- final NumberFormat nf = NumberFormat.getInstance();
- nf.setMinimumIntegerDigits(20);
- nf.setMaximumFractionDigits(0);
- nf.setGroupingUsed(false);
- return nf.format(offset);
- }
-
- public static long computeEclipseTimeMilliseconds(final long beginTime) {
- return System.currentTimeMillis() - beginTime;
- }
-
-
- public static boolean isItTimeToDo(final String when) {
- String[] whiles = when.split(";");
- if (whiles != null && whiles.length > 0) {
- Calendar now = Calendar.getInstance();
- for (String w : whiles) {
- int nowHour = Integer.parseInt(w);
- if (nowHour == now.get(Calendar.HOUR_OF_DAY)) {
- return true;
- }
- }
- }
-
- return false;
- }
-
-
- public static String timeMillisToHumanString() {
- return timeMillisToHumanString(System.currentTimeMillis());
- }
-
-
- public static String timeMillisToHumanString(final long t) {
- Calendar cal = Calendar.getInstance();
- cal.setTimeInMillis(t);
- return String.format("%04d%02d%02d%02d%02d%02d%03d", cal.get(Calendar.YEAR), cal.get(Calendar.MONTH) + 1,
- cal.get(Calendar.DAY_OF_MONTH), cal.get(Calendar.HOUR_OF_DAY), cal.get(Calendar.MINUTE), cal.get(Calendar.SECOND),
- cal.get(Calendar.MILLISECOND));
- }
-
-
- public static long computNextMorningTimeMillis() {
- Calendar cal = Calendar.getInstance();
- cal.setTimeInMillis(System.currentTimeMillis());
- cal.add(Calendar.DAY_OF_MONTH, 1);
- cal.set(Calendar.HOUR_OF_DAY, 0);
- cal.set(Calendar.MINUTE, 0);
- cal.set(Calendar.SECOND, 0);
- cal.set(Calendar.MILLISECOND, 0);
-
- return cal.getTimeInMillis();
- }
-
-
- public static long computNextMinutesTimeMillis() {
- Calendar cal = Calendar.getInstance();
- cal.setTimeInMillis(System.currentTimeMillis());
- cal.add(Calendar.DAY_OF_MONTH, 0);
- cal.add(Calendar.HOUR_OF_DAY, 0);
- cal.add(Calendar.MINUTE, 1);
- cal.set(Calendar.SECOND, 0);
- cal.set(Calendar.MILLISECOND, 0);
-
- return cal.getTimeInMillis();
- }
-
-
- public static long computNextHourTimeMillis() {
- Calendar cal = Calendar.getInstance();
- cal.setTimeInMillis(System.currentTimeMillis());
- cal.add(Calendar.DAY_OF_MONTH, 0);
- cal.add(Calendar.HOUR_OF_DAY, 1);
- cal.set(Calendar.MINUTE, 0);
- cal.set(Calendar.SECOND, 0);
- cal.set(Calendar.MILLISECOND, 0);
-
- return cal.getTimeInMillis();
- }
-
-
- public static long computNextHalfHourTimeMillis() {
- Calendar cal = Calendar.getInstance();
- cal.setTimeInMillis(System.currentTimeMillis());
- cal.add(Calendar.DAY_OF_MONTH, 0);
- cal.add(Calendar.HOUR_OF_DAY, 1);
- cal.set(Calendar.MINUTE, 30);
- cal.set(Calendar.SECOND, 0);
- cal.set(Calendar.MILLISECOND, 0);
-
- return cal.getTimeInMillis();
- }
-
-
- public static String timeMillisToHumanString2(final long t) {
- Calendar cal = Calendar.getInstance();
- cal.setTimeInMillis(t);
- return String.format("%04d-%02d-%02d %02d:%02d:%02d,%03d",
- cal.get(Calendar.YEAR),
- cal.get(Calendar.MONTH) + 1,
- cal.get(Calendar.DAY_OF_MONTH),
- cal.get(Calendar.HOUR_OF_DAY),
- cal.get(Calendar.MINUTE),
- cal.get(Calendar.SECOND),
- cal.get(Calendar.MILLISECOND));
- }
-
-
- public static String timeMillisToHumanString3(final long t) {
- Calendar cal = Calendar.getInstance();
- cal.setTimeInMillis(t);
- return String.format("%04d%02d%02d%02d%02d%02d",
- cal.get(Calendar.YEAR),
- cal.get(Calendar.MONTH) + 1,
- cal.get(Calendar.DAY_OF_MONTH),
- cal.get(Calendar.HOUR_OF_DAY),
- cal.get(Calendar.MINUTE),
- cal.get(Calendar.SECOND));
- }
-
-
- public static double getDiskPartitionSpaceUsedPercent(final String path) {
- if (null == path || path.isEmpty())
- return -1;
-
- try {
- File file = new File(path);
- if (!file.exists()) {
- boolean result = file.mkdirs();
- if (!result) {
- }
- }
-
- long totalSpace = file.getTotalSpace();
- long freeSpace = file.getFreeSpace();
- long usedSpace = totalSpace - freeSpace;
- if (totalSpace > 0) {
- return usedSpace / (double) totalSpace;
- }
- } catch (Exception e) {
- return -1;
- }
-
- return -1;
- }
-
-
- public static final int crc32(byte[] array) {
- if (array != null) {
- return crc32(array, 0, array.length);
- }
-
- return 0;
- }
-
-
- public static final int crc32(byte[] array, int offset, int length) {
- CRC32 crc32 = new CRC32();
- crc32.update(array, offset, length);
- return (int) (crc32.getValue() & 0x7FFFFFFF);
- }
-
- final static char[] HEX_ARRAY = "0123456789ABCDEF".toCharArray();
-
- public static String bytes2string(byte[] src) {
- char[] hexChars = new char[src.length * 2];
- for (int j = 0; j < src.length; j++) {
- int v = src[j] & 0xFF;
- hexChars[j * 2] = HEX_ARRAY[v >>> 4];
- hexChars[j * 2 + 1] = HEX_ARRAY[v & 0x0F];
- }
- return new String(hexChars);
- }
-
- public static byte[] string2bytes(String hexString) {
- if (hexString == null || hexString.equals("")) {
- return null;
- }
- hexString = hexString.toUpperCase();
- int length = hexString.length() / 2;
- char[] hexChars = hexString.toCharArray();
- byte[] d = new byte[length];
- for (int i = 0; i < length; i++) {
- int pos = i * 2;
- d[i] = (byte) (charToByte(hexChars[pos]) << 4 | charToByte(hexChars[pos + 1]));
- }
- return d;
- }
-
-
- private static byte charToByte(char c) {
- return (byte) "0123456789ABCDEF".indexOf(c);
- }
-
-
- public static byte[] uncompress(final byte[] src) throws IOException {
- byte[] result = src;
- byte[] uncompressData = new byte[src.length];
- ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(src);
- InflaterInputStream inflaterInputStream = new InflaterInputStream(byteArrayInputStream);
- ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(src.length);
-
- try {
- while (true) {
- int len = inflaterInputStream.read(uncompressData, 0, uncompressData.length);
- if (len <= 0) {
- break;
- }
- byteArrayOutputStream.write(uncompressData, 0, len);
- }
- byteArrayOutputStream.flush();
- result = byteArrayOutputStream.toByteArray();
- } catch (IOException e) {
- throw e;
- } finally {
- try {
- byteArrayInputStream.close();
- } catch (IOException e) {
- }
- try {
- inflaterInputStream.close();
- } catch (IOException e) {
- }
- try {
- byteArrayOutputStream.close();
- } catch (IOException e) {
- }
- }
-
- return result;
- }
-
-
- public static byte[] compress(final byte[] src, final int level) throws IOException {
- byte[] result = src;
- ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(src.length);
- java.util.zip.Deflater defeater = new java.util.zip.Deflater(level);
- DeflaterOutputStream deflaterOutputStream = new DeflaterOutputStream(byteArrayOutputStream, defeater);
- try {
- deflaterOutputStream.write(src);
- deflaterOutputStream.finish();
- deflaterOutputStream.close();
- result = byteArrayOutputStream.toByteArray();
- } catch (IOException e) {
- defeater.end();
- throw e;
- } finally {
- try {
- byteArrayOutputStream.close();
- } catch (IOException ignored) {
- }
-
- defeater.end();
- }
-
- return result;
- }
-
-
- public static int asInt(String str, int defaultValue) {
- try {
- return Integer.parseInt(str);
- } catch (Exception e) {
- return defaultValue;
- }
- }
-
-
- public static long asLong(String str, long defaultValue) {
- try {
- return Long.parseLong(str);
- } catch (Exception e) {
- return defaultValue;
- }
- }
-
-
- public static String formatDate(Date date, String pattern) {
- SimpleDateFormat df = new SimpleDateFormat(pattern);
- return df.format(date);
- }
-
-
- public static Date parseDate(String date, String pattern) {
- SimpleDateFormat df = new SimpleDateFormat(pattern);
- try {
- return df.parse(date);
- } catch (ParseException e) {
- return null;
- }
- }
-
-
- public static String responseCode2String(final int code) {
- return Integer.toString(code);
- }
-
-
- public static String frontStringAtLeast(final String str, final int size) {
- if (str != null) {
- if (str.length() > size) {
- return str.substring(0, size);
- }
- }
-
- return str;
- }
-
-
- public static boolean isBlank(String str) {
- int strLen;
- if (str == null || (strLen = str.length()) == 0) {
- return true;
- }
- for (int i = 0; i < strLen; i++) {
- if (!Character.isWhitespace(str.charAt(i))) {
- return false;
- }
- }
- return true;
- }
-
-
- public static String jstack() {
- return jstack(Thread.getAllStackTraces());
- }
-
-
- public static String jstack(Map<Thread, StackTraceElement[]> map) {
- StringBuilder result = new StringBuilder();
- try {
- Iterator<Map.Entry<Thread, StackTraceElement[]>> ite = map.entrySet().iterator();
- while (ite.hasNext()) {
- Map.Entry<Thread, StackTraceElement[]> entry = ite.next();
- StackTraceElement[] elements = entry.getValue();
- Thread thread = entry.getKey();
- if (elements != null && elements.length > 0) {
- String threadName = entry.getKey().getName();
- result.append(String.format("%-40sTID: %d STATE: %s%n", threadName, thread.getId(), thread.getState()));
- for (StackTraceElement el : elements) {
- result.append(String.format("%-40s%s%n", threadName, el.toString()));
- }
- result.append("\n");
- }
- }
- } catch (Throwable e) {
- result.append(RemotingHelper.exceptionSimpleDesc(e));
- }
-
- return result.toString();
- }
-
- public static boolean isInternalIP(byte[] ip) {
- if (ip.length != 4) {
- throw new RuntimeException("illegal ipv4 bytes");
- }
-
-
- //10.0.0.0~10.255.255.255
- //172.16.0.0~172.31.255.255
- //192.168.0.0~192.168.255.255
- if (ip[0] == (byte) 10) {
-
- return true;
- } else if (ip[0] == (byte) 172) {
- if (ip[1] >= (byte) 16 && ip[1] <= (byte) 31) {
- return true;
- }
- } else if (ip[0] == (byte) 192) {
- if (ip[1] == (byte) 168) {
- return true;
- }
- }
- return false;
- }
-
- private static boolean ipCheck(byte[] ip) {
- if (ip.length != 4) {
- throw new RuntimeException("illegal ipv4 bytes");
- }
-
-// if (ip[0] == (byte)30 && ip[1] == (byte)10 && ip[2] == (byte)163 && ip[3] == (byte)120) {
-// }
-
-
- if (ip[0] >= (byte) 1 && ip[0] <= (byte) 126) {
- if (ip[1] == (byte) 1 && ip[2] == (byte) 1 && ip[3] == (byte) 1) {
- return false;
- }
- if (ip[1] == (byte) 0 && ip[2] == (byte) 0 && ip[3] == (byte) 0) {
- return false;
- }
- return true;
- } else if (ip[0] >= (byte) 128 && ip[0] <= (byte) 191) {
- if (ip[2] == (byte) 1 && ip[3] == (byte) 1) {
- return false;
- }
- if (ip[2] == (byte) 0 && ip[3] == (byte) 0) {
- return false;
- }
- return true;
- } else if (ip[0] >= (byte) 192 && ip[0] <= (byte) 223) {
- if (ip[3] == (byte) 1) {
- return false;
- }
- if (ip[3] == (byte) 0) {
- return false;
- }
- return true;
- }
- return false;
- }
-
- public static String ipToIPv4Str(byte[] ip) {
- if (ip.length != 4) {
- return null;
- }
- return new StringBuilder().append(ip[0] & 0xFF).append(".").append(
- ip[1] & 0xFF).append(".").append(ip[2] & 0xFF)
- .append(".").append(ip[3] & 0xFF).toString();
- }
-
- public static byte[] getIP() {
- try {
- Enumeration allNetInterfaces = NetworkInterface.getNetworkInterfaces();
- InetAddress ip = null;
- byte[] internalIP = null;
- while (allNetInterfaces.hasMoreElements()) {
- NetworkInterface netInterface = (NetworkInterface) allNetInterfaces.nextElement();
- Enumeration addresses = netInterface.getInetAddresses();
- while (addresses.hasMoreElements()) {
- ip = (InetAddress) addresses.nextElement();
- if (ip != null && ip instanceof Inet4Address) {
- byte[] ipByte = ip.getAddress();
- if (ipByte.length == 4) {
- if (ipCheck(ipByte)) {
- if (!isInternalIP(ipByte)) {
- return ipByte;
- } else if (internalIP == null) {
- internalIP = ipByte;
- }
- }
- }
- }
- }
- }
- if (internalIP != null) {
- return internalIP;
- } else {
- throw new RuntimeException("Can not get local ip");
- }
- } catch (Exception e) {
- throw new RuntimeException("Can not get local ip", e);
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/admin/ConsumeStats.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/admin/ConsumeStats.java b/common/src/main/java/com/alibaba/rocketmq/common/admin/ConsumeStats.java
deleted file mode 100644
index d8c9311..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/admin/ConsumeStats.java
+++ /dev/null
@@ -1,67 +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 com.alibaba.rocketmq.common.admin;
-
-import com.alibaba.rocketmq.common.message.MessageQueue;
-import com.alibaba.rocketmq.remoting.protocol.RemotingSerializable;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map.Entry;
-
-
-/**
- *
- * @author shijia.wxr
- *
- */
-public class ConsumeStats extends RemotingSerializable {
- private HashMap<MessageQueue, OffsetWrapper> offsetTable = new HashMap<MessageQueue, OffsetWrapper>();
- private double consumeTps = 0;
-
-
- public long computeTotalDiff() {
- long diffTotal = 0L;
-
- Iterator<Entry<MessageQueue, OffsetWrapper>> it = this.offsetTable.entrySet().iterator();
- while (it.hasNext()) {
- Entry<MessageQueue, OffsetWrapper> next = it.next();
- long diff = next.getValue().getBrokerOffset() - next.getValue().getConsumerOffset();
- diffTotal += diff;
- }
-
- return diffTotal;
- }
-
-
- public HashMap<MessageQueue, OffsetWrapper> getOffsetTable() {
- return offsetTable;
- }
-
-
- public void setOffsetTable(HashMap<MessageQueue, OffsetWrapper> offsetTable) {
- this.offsetTable = offsetTable;
- }
-
- public double getConsumeTps() {
- return consumeTps;
- }
-
- public void setConsumeTps(double consumeTps) {
- this.consumeTps = consumeTps;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/admin/OffsetWrapper.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/admin/OffsetWrapper.java b/common/src/main/java/com/alibaba/rocketmq/common/admin/OffsetWrapper.java
deleted file mode 100644
index 07785c2..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/admin/OffsetWrapper.java
+++ /dev/null
@@ -1,59 +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 com.alibaba.rocketmq.common.admin;
-
-/**
- *
- * @author shijia.wxr
- *
- */
-public class OffsetWrapper {
- private long brokerOffset;
- private long consumerOffset;
-
- private long lastTimestamp;
-
-
- public long getBrokerOffset() {
- return brokerOffset;
- }
-
-
- public void setBrokerOffset(long brokerOffset) {
- this.brokerOffset = brokerOffset;
- }
-
-
- public long getConsumerOffset() {
- return consumerOffset;
- }
-
-
- public void setConsumerOffset(long consumerOffset) {
- this.consumerOffset = consumerOffset;
- }
-
-
- public long getLastTimestamp() {
- return lastTimestamp;
- }
-
-
- public void setLastTimestamp(long lastTimestamp) {
- this.lastTimestamp = lastTimestamp;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/admin/RollbackStats.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/admin/RollbackStats.java b/common/src/main/java/com/alibaba/rocketmq/common/admin/RollbackStats.java
deleted file mode 100644
index 03d94a2..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/admin/RollbackStats.java
+++ /dev/null
@@ -1,91 +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 com.alibaba.rocketmq.common.admin;
-
-/**
- *
- * @author manhong.yqd
- */
-public class RollbackStats {
- private String brokerName;
- private long queueId;
- private long brokerOffset;
- private long consumerOffset;
- private long timestampOffset;
- private long rollbackOffset;
-
-
- public String getBrokerName() {
- return brokerName;
- }
-
-
- public void setBrokerName(String brokerName) {
- this.brokerName = brokerName;
- }
-
-
- public long getQueueId() {
- return queueId;
- }
-
-
- public void setQueueId(long queueId) {
- this.queueId = queueId;
- }
-
-
- public long getBrokerOffset() {
- return brokerOffset;
- }
-
-
- public void setBrokerOffset(long brokerOffset) {
- this.brokerOffset = brokerOffset;
- }
-
-
- public long getConsumerOffset() {
- return consumerOffset;
- }
-
-
- public void setConsumerOffset(long consumerOffset) {
- this.consumerOffset = consumerOffset;
- }
-
-
- public long getTimestampOffset() {
- return timestampOffset;
- }
-
-
- public void setTimestampOffset(long timestampOffset) {
- this.timestampOffset = timestampOffset;
- }
-
-
- public long getRollbackOffset() {
- return rollbackOffset;
- }
-
-
- public void setRollbackOffset(long rollbackOffset) {
- this.rollbackOffset = rollbackOffset;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/admin/TopicOffset.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/admin/TopicOffset.java b/common/src/main/java/com/alibaba/rocketmq/common/admin/TopicOffset.java
deleted file mode 100644
index 076d6eb..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/admin/TopicOffset.java
+++ /dev/null
@@ -1,58 +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 com.alibaba.rocketmq.common.admin;
-
-/**
- *
- * @author shijia.wxr
- *
- */
-public class TopicOffset {
- private long minOffset;
- private long maxOffset;
- private long lastUpdateTimestamp;
-
-
- public long getMinOffset() {
- return minOffset;
- }
-
-
- public void setMinOffset(long minOffset) {
- this.minOffset = minOffset;
- }
-
-
- public long getMaxOffset() {
- return maxOffset;
- }
-
-
- public void setMaxOffset(long maxOffset) {
- this.maxOffset = maxOffset;
- }
-
-
- public long getLastUpdateTimestamp() {
- return lastUpdateTimestamp;
- }
-
-
- public void setLastUpdateTimestamp(long lastUpdateTimestamp) {
- this.lastUpdateTimestamp = lastUpdateTimestamp;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/admin/TopicStatsTable.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/admin/TopicStatsTable.java b/common/src/main/java/com/alibaba/rocketmq/common/admin/TopicStatsTable.java
deleted file mode 100644
index 12d1d4b..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/admin/TopicStatsTable.java
+++ /dev/null
@@ -1,42 +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 com.alibaba.rocketmq.common.admin;
-
-import com.alibaba.rocketmq.common.message.MessageQueue;
-import com.alibaba.rocketmq.remoting.protocol.RemotingSerializable;
-
-import java.util.HashMap;
-
-
-/**
- *
- * @author shijia.wxr
- *
- */
-public class TopicStatsTable extends RemotingSerializable {
- private HashMap<MessageQueue, TopicOffset> offsetTable = new HashMap<MessageQueue, TopicOffset>();
-
-
- public HashMap<MessageQueue, TopicOffset> getOffsetTable() {
- return offsetTable;
- }
-
-
- public void setOffsetTable(HashMap<MessageQueue, TopicOffset> offsetTable) {
- this.offsetTable = offsetTable;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/annotation/ImportantField.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/annotation/ImportantField.java b/common/src/main/java/com/alibaba/rocketmq/common/annotation/ImportantField.java
deleted file mode 100644
index fe0cb12..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/annotation/ImportantField.java
+++ /dev/null
@@ -1,29 +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 com.alibaba.rocketmq.common.annotation;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Documented
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.LOCAL_VARIABLE})
-public @interface ImportantField {
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/constant/DBMsgConstants.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/constant/DBMsgConstants.java b/common/src/main/java/com/alibaba/rocketmq/common/constant/DBMsgConstants.java
deleted file mode 100644
index 54bc04d..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/constant/DBMsgConstants.java
+++ /dev/null
@@ -1,22 +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 com.alibaba.rocketmq.common.constant;
-
-public class DBMsgConstants {
- public static final int MAX_BODY_SIZE = 64 * 1024 * 1204; //64KB
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/constant/LoggerName.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/constant/LoggerName.java b/common/src/main/java/com/alibaba/rocketmq/common/constant/LoggerName.java
deleted file mode 100644
index 9175669..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/constant/LoggerName.java
+++ /dev/null
@@ -1,40 +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 com.alibaba.rocketmq.common.constant;
-
-/**
- * @author shijia.wxr
- */
-public class LoggerName {
- public static final String FILTERSRV_LOGGER_NAME = "RocketmqFiltersrv";
- public static final String NAMESRV_LOGGER_NAME = "RocketmqNamesrv";
- public static final String BROKER_LOGGER_NAME = "RocketmqBroker";
- public static final String CLIENT_LOGGER_NAME = "RocketmqClient";
- public static final String TOOLS_LOGGER_NAME = "RocketmqTools";
- public static final String COMMON_LOGGER_NAME = "RocketmqCommon";
- public static final String STORE_LOGGER_NAME = "RocketmqStore";
- public static final String STORE_ERROR_LOGGER_NAME = "RocketmqStoreError";
- public static final String TRANSACTION_LOGGER_NAME = "RocketmqTransaction";
- public static final String REBALANCE_LOCK_LOGGER_NAME = "RocketmqRebalanceLock";
- public static final String ROCKETMQ_STATS_LOGGER_NAME = "RocketmqStats";
- public static final String COMMERCIAL_LOGGER_NAME = "RocketmqCommercial";
- public static final String FLOW_CONTROL_LOGGER_NAME = "RocketmqFlowControl";
- public static final String ROCKETMQ_AUTHORIZE_LOGGER_NAME = "RocketmqAuthorize";
- public static final String DUPLICATION_LOGGER_NAME = "RocketmqDuplication";
- public static final String PROTECTION_LOGGER_NAME = "RocketmqProtection";
- public static final String WATER_MARK_LOGGER_NAME = "RocketmqWaterMark";
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/constant/PermName.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/constant/PermName.java b/common/src/main/java/com/alibaba/rocketmq/common/constant/PermName.java
deleted file mode 100644
index 95c2510..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/constant/PermName.java
+++ /dev/null
@@ -1,56 +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 com.alibaba.rocketmq.common.constant;
-
-/**
- * @author shijia.wxr
- */
-public class PermName {
- public static final int PERM_PRIORITY = 0x1 << 3;
- public static final int PERM_READ = 0x1 << 2;
- public static final int PERM_WRITE = 0x1 << 1;
- public static final int PERM_INHERIT = 0x1 << 0;
-
- public static String perm2String(final int perm) {
- final StringBuffer sb = new StringBuffer("---");
- if (isReadable(perm)) {
- sb.replace(0, 1, "R");
- }
-
- if (isWriteable(perm)) {
- sb.replace(1, 2, "W");
- }
-
- if (isInherited(perm)) {
- sb.replace(2, 3, "X");
- }
-
- return sb.toString();
- }
-
- public static boolean isReadable(final int perm) {
- return (perm & PERM_READ) == PERM_READ;
- }
-
- public static boolean isWriteable(final int perm) {
- return (perm & PERM_WRITE) == PERM_WRITE;
- }
-
- public static boolean isInherited(final int perm) {
- return (perm & PERM_INHERIT) == PERM_INHERIT;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/consumer/ConsumeFromWhere.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/consumer/ConsumeFromWhere.java b/common/src/main/java/com/alibaba/rocketmq/common/consumer/ConsumeFromWhere.java
deleted file mode 100644
index ededc90..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/consumer/ConsumeFromWhere.java
+++ /dev/null
@@ -1,34 +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 com.alibaba.rocketmq.common.consumer;
-
-/**
- *
- * @author shijia.wxr
- */
-public enum ConsumeFromWhere {
- CONSUME_FROM_LAST_OFFSET,
-
- @Deprecated
- CONSUME_FROM_LAST_OFFSET_AND_FROM_MIN_WHEN_BOOT_FIRST,
- @Deprecated
- CONSUME_FROM_MIN_OFFSET,
- @Deprecated
- CONSUME_FROM_MAX_OFFSET,
- CONSUME_FROM_FIRST_OFFSET,
- CONSUME_FROM_TIMESTAMP,
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/filter/FilterAPI.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/filter/FilterAPI.java b/common/src/main/java/com/alibaba/rocketmq/common/filter/FilterAPI.java
deleted file mode 100644
index 2b26b83..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/filter/FilterAPI.java
+++ /dev/null
@@ -1,72 +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 com.alibaba.rocketmq.common.filter;
-
-import com.alibaba.rocketmq.common.protocol.heartbeat.SubscriptionData;
-
-import java.net.URL;
-
-
-/**
- * @author shijia.wxr
- *
- */
-public class FilterAPI {
- public static URL classFile(final String className) {
- final String javaSource = simpleClassName(className) + ".java";
- URL url = FilterAPI.class.getClassLoader().getResource(javaSource);
- return url;
- }
-
- public static String simpleClassName(final String className) {
- String simple = className;
- int index = className.lastIndexOf(".");
- if (index >= 0) {
- simple = className.substring(index + 1);
- }
-
- return simple;
- }
-
- public static SubscriptionData buildSubscriptionData(final String consumerGroup, String topic,
- String subString) throws Exception {
- SubscriptionData subscriptionData = new SubscriptionData();
- subscriptionData.setTopic(topic);
- subscriptionData.setSubString(subString);
-
- if (null == subString || subString.equals(SubscriptionData.SUB_ALL) || subString.length() == 0) {
- subscriptionData.setSubString(SubscriptionData.SUB_ALL);
- } else {
- String[] tags = subString.split("\\|\\|");
- if (tags != null && tags.length > 0) {
- for (String tag : tags) {
- if (tag.length() > 0) {
- String trimString = tag.trim();
- if (trimString.length() > 0) {
- subscriptionData.getTagsSet().add(trimString);
- subscriptionData.getCodeSet().add(trimString.hashCode());
- }
- }
- }
- } else {
- throw new Exception("subString split error");
- }
- }
-
- return subscriptionData;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/filter/FilterContext.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/filter/FilterContext.java b/common/src/main/java/com/alibaba/rocketmq/common/filter/FilterContext.java
deleted file mode 100644
index 50cc5fc..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/filter/FilterContext.java
+++ /dev/null
@@ -1,32 +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 com.alibaba.rocketmq.common.filter;
-
-public class FilterContext {
- private String consumerGroup;
-
-
- public String getConsumerGroup() {
- return consumerGroup;
- }
-
-
- public void setConsumerGroup(String consumerGroup) {
- this.consumerGroup = consumerGroup;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/filter/MessageFilter.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/filter/MessageFilter.java b/common/src/main/java/com/alibaba/rocketmq/common/filter/MessageFilter.java
deleted file mode 100644
index 8a1252e..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/filter/MessageFilter.java
+++ /dev/null
@@ -1,25 +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 com.alibaba.rocketmq.common.filter;
-
-import com.alibaba.rocketmq.common.message.MessageExt;
-
-
-public interface MessageFilter {
- boolean match(final MessageExt msg, final FilterContext context);
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/filter/impl/Op.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/filter/impl/Op.java b/common/src/main/java/com/alibaba/rocketmq/common/filter/impl/Op.java
deleted file mode 100644
index f83a5f5..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/filter/impl/Op.java
+++ /dev/null
@@ -1,38 +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 com.alibaba.rocketmq.common.filter.impl;
-
-public abstract class Op {
-
- private String symbol;
-
-
- protected Op(String symbol) {
- this.symbol = symbol;
- }
-
-
- public String getSymbol() {
- return symbol;
- }
-
-
- public String toString() {
- return symbol;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/filter/impl/Operand.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/filter/impl/Operand.java b/common/src/main/java/com/alibaba/rocketmq/common/filter/impl/Operand.java
deleted file mode 100644
index 95ca663..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/filter/impl/Operand.java
+++ /dev/null
@@ -1,26 +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 com.alibaba.rocketmq.common.filter.impl;
-
-public class Operand extends Op {
-
- public Operand(String symbol) {
- super(symbol);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/filter/impl/Operator.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/filter/impl/Operator.java b/common/src/main/java/com/alibaba/rocketmq/common/filter/impl/Operator.java
deleted file mode 100644
index c906d72..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/filter/impl/Operator.java
+++ /dev/null
@@ -1,71 +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 com.alibaba.rocketmq.common.filter.impl;
-
-public class Operator extends Op {
-
- public static final Operator LEFTPARENTHESIS = new Operator("(", 30, false);
- public static final Operator RIGHTPARENTHESIS = new Operator(")", 30, false);
- public static final Operator AND = new Operator("&&", 20, true);
- public static final Operator OR = new Operator("||", 15, true);
-
- private int priority;
- private boolean compareable;
-
-
- private Operator(String symbol, int priority, boolean compareable) {
- super(symbol);
- this.priority = priority;
- this.compareable = compareable;
- }
-
- public static Operator createOperator(String operator) {
- if (LEFTPARENTHESIS.getSymbol().equals(operator))
- return LEFTPARENTHESIS;
- else if (RIGHTPARENTHESIS.getSymbol().equals(operator))
- return RIGHTPARENTHESIS;
- else if (AND.getSymbol().equals(operator))
- return AND;
- else if (OR.getSymbol().equals(operator))
- return OR;
- else
- throw new IllegalArgumentException("unsupport operator " + operator);
- }
-
- public int getPriority() {
- return priority;
- }
-
- public boolean isCompareable() {
- return compareable;
- }
-
-
- public int compare(Operator operator) {
- if (this.priority > operator.priority)
- return 1;
- else if (this.priority == operator.priority)
- return 0;
- else
- return -1;
- }
-
- public boolean isSpecifiedOp(String operator) {
- return this.getSymbol().equals(operator);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/filter/impl/PolishExpr.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/filter/impl/PolishExpr.java b/common/src/main/java/com/alibaba/rocketmq/common/filter/impl/PolishExpr.java
deleted file mode 100644
index 518c45e..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/filter/impl/PolishExpr.java
+++ /dev/null
@@ -1,189 +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 com.alibaba.rocketmq.common.filter.impl;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Stack;
-
-import static com.alibaba.rocketmq.common.filter.impl.Operator.LEFTPARENTHESIS;
-import static com.alibaba.rocketmq.common.filter.impl.Operator.RIGHTPARENTHESIS;
-import static com.alibaba.rocketmq.common.filter.impl.Operator.createOperator;
-
-public class PolishExpr {
-
- public static List<Op> reversePolish(String expression) {
- return reversePolish(participle(expression));
- }
-
- /**
- * Shunting-yard algorithm <br/>
- * http://en.wikipedia.org/wiki/Shunting_yard_algorithm
- *
- * @param tokens
- * @return the compute result of Shunting-yard algorithm
- */
- public static List<Op> reversePolish(List<Op> tokens) {
- List<Op> segments = new ArrayList<Op>();
- Stack<Operator> operatorStack = new Stack<Operator>();
-
- for (int i = 0; i < tokens.size(); i++) {
- Op token = tokens.get(i);
- if (isOperand(token)) {
-
- segments.add(token);
- } else if (isLeftParenthesis(token)) {
-
- operatorStack.push((Operator) token);
- } else if (isRightParenthesis(token)) {
-
- Operator opNew = null;
- while (!operatorStack.empty() && LEFTPARENTHESIS != (opNew = operatorStack.pop())) {
- segments.add(opNew);
- }
- if (null == opNew || LEFTPARENTHESIS != opNew)
- throw new IllegalArgumentException("mismatched parentheses");
- } else if (isOperator(token)) {
-
- Operator opNew = (Operator) token;
- if (!operatorStack.empty()) {
- Operator opOld = operatorStack.peek();
- if (opOld.isCompareable() && opNew.compare(opOld) != 1) {
- segments.add(operatorStack.pop());
- }
- }
- operatorStack.push(opNew);
- } else
- throw new IllegalArgumentException("illegal token " + token);
- }
-
- while (!operatorStack.empty()) {
- Operator operator = operatorStack.pop();
- if (LEFTPARENTHESIS == operator || RIGHTPARENTHESIS == operator)
- throw new IllegalArgumentException("mismatched parentheses " + operator);
- segments.add(operator);
- }
-
- return segments;
- }
-
- /**
- *
- * @param expression
- *
- * @return
- *
- * @throws Exception
- */
- private static List<Op> participle(String expression) {
- List<Op> segments = new ArrayList<Op>();
-
- int size = expression.length();
- int wordStartIndex = -1;
- int wordLen = 0;
- Type preType = Type.NULL;
-
- for (int i = 0; i < size; i++) {
- int chValue = (int) expression.charAt(i);
-
- if ((97 <= chValue && chValue <= 122) || (65 <= chValue && chValue <= 90)
- || (49 <= chValue && chValue <= 57) || 95 == chValue) {
-
-
- if (Type.OPERATOR == preType || Type.SEPAERATOR == preType || Type.NULL == preType
- || Type.PARENTHESIS == preType) {
- if (Type.OPERATOR == preType) {
- segments.add(createOperator(expression.substring(wordStartIndex, wordStartIndex
- + wordLen)));
- }
- wordStartIndex = i;
- wordLen = 0;
- }
- preType = Type.OPERAND;
- wordLen++;
- } else if (40 == chValue || 41 == chValue) {
-
-
- if (Type.OPERATOR == preType) {
- segments.add(createOperator(expression
- .substring(wordStartIndex, wordStartIndex + wordLen)));
- wordStartIndex = -1;
- wordLen = 0;
- } else if (Type.OPERAND == preType) {
- segments.add(new Operand(expression.substring(wordStartIndex, wordStartIndex + wordLen)));
- wordStartIndex = -1;
- wordLen = 0;
- }
-
- preType = Type.PARENTHESIS;
- segments.add(createOperator((char) chValue + ""));
- } else if (38 == chValue || 124 == chValue) {
-
- if (Type.OPERAND == preType || Type.SEPAERATOR == preType || Type.PARENTHESIS == preType) {
- if (Type.OPERAND == preType) {
- segments.add(new Operand(expression.substring(wordStartIndex, wordStartIndex
- + wordLen)));
- }
- wordStartIndex = i;
- wordLen = 0;
- }
- preType = Type.OPERATOR;
- wordLen++;
- } else if (32 == chValue || 9 == chValue) {
-
-
- if (Type.OPERATOR == preType) {
- segments.add(createOperator(expression
- .substring(wordStartIndex, wordStartIndex + wordLen)));
- wordStartIndex = -1;
- wordLen = 0;
- } else if (Type.OPERAND == preType) {
- segments.add(new Operand(expression.substring(wordStartIndex, wordStartIndex + wordLen)));
- wordStartIndex = -1;
- wordLen = 0;
- }
- preType = Type.SEPAERATOR;
- } else {
-
- throw new IllegalArgumentException("illegal expression, at index " + i + " " + (char) chValue);
- }
-
- }
-
- if (wordLen > 0) {
- segments.add(new Operand(expression.substring(wordStartIndex, wordStartIndex + wordLen)));
- }
- return segments;
- }
-
- public static boolean isOperand(Op token) {
- return token instanceof Operand;
- }
-
- public static boolean isLeftParenthesis(Op token) {
- return token instanceof Operator && LEFTPARENTHESIS == (Operator) token;
- }
-
- public static boolean isRightParenthesis(Op token) {
- return token instanceof Operator && RIGHTPARENTHESIS == (Operator) token;
- }
-
- public static boolean isOperator(Op token) {
- return token instanceof Operator;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/filter/impl/Type.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/filter/impl/Type.java b/common/src/main/java/com/alibaba/rocketmq/common/filter/impl/Type.java
deleted file mode 100644
index 1c0b343..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/filter/impl/Type.java
+++ /dev/null
@@ -1,26 +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 com.alibaba.rocketmq.common.filter.impl;
-
-public enum Type {
- NULL,
- OPERAND,
- OPERATOR,
- PARENTHESIS,
- SEPAERATOR;
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/help/FAQUrl.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/help/FAQUrl.java b/common/src/main/java/com/alibaba/rocketmq/common/help/FAQUrl.java
deleted file mode 100644
index 06a74a6..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/help/FAQUrl.java
+++ /dev/null
@@ -1,101 +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 com.alibaba.rocketmq.common.help;
-
-/**
- * @author shijia.wxr
- */
-public class FAQUrl {
-
- public static final String APPLY_TOPIC_URL = //
- "http://docs.aliyun.com/cn#/pub/ons/faq/exceptions&topic_not_exist";
-
-
- public static final String NAME_SERVER_ADDR_NOT_EXIST_URL = //
- "http://docs.aliyun.com/cn#/pub/ons/faq/exceptions&namesrv_not_exist";
-
-
- public static final String GROUP_NAME_DUPLICATE_URL = //
- "http://docs.aliyun.com/cn#/pub/ons/faq/exceptions&group_duplicate";
-
-
- public static final String CLIENT_PARAMETER_CHECK_URL = //
- "http://docs.aliyun.com/cn#/pub/ons/faq/exceptions¶meter_check_failed";
-
-
- public static final String SUBSCRIPTION_GROUP_NOT_EXIST = //
- "http://docs.aliyun.com/cn#/pub/ons/faq/exceptions&subGroup_not_exist";
-
-
- public static final String CLIENT_SERVICE_NOT_OK = //
- "http://docs.aliyun.com/cn#/pub/ons/faq/exceptions&service_not_ok";
-
- // FAQ: No route info of this topic, TopicABC
- public static final String NO_TOPIC_ROUTE_INFO = //
- "http://docs.aliyun.com/cn#/pub/ons/faq/exceptions&topic_not_exist";
-
-
- public static final String LOAD_JSON_EXCEPTION = //
- "http://docs.aliyun.com/cn#/pub/ons/faq/exceptions&load_json_exception";
-
-
- public static final String SAME_GROUP_DIFFERENT_TOPIC = //
- "http://docs.aliyun.com/cn#/pub/ons/faq/exceptions&subscription_exception";
-
-
- public static final String MQLIST_NOT_EXIST = //
- "http://docs.aliyun.com/cn#/pub/ons/faq/exceptions&queue_not_exist";
-
- public static final String UNEXPECTED_EXCEPTION_URL = //
- "http://docs.aliyun.com/cn#/pub/ons/faq/exceptions&unexpected_exception";
-
-
- public static final String SEND_MSG_FAILED = //
- "http://docs.aliyun.com/cn#/pub/ons/faq/exceptions&send_msg_failed";
-
-
- public static final String UNKNOWN_HOST_EXCEPTION = //
- "http://docs.aliyun.com/cn#/pub/ons/faq/exceptions&unknown_host";
-
- private static final String TIP_STRING_BEGIN = "\nSee ";
- private static final String TIP_STRING_END = " for further details.";
-
-
- public static String suggestTodo(final String url) {
- StringBuilder sb = new StringBuilder();
- sb.append(TIP_STRING_BEGIN);
- sb.append(url);
- sb.append(TIP_STRING_END);
- return sb.toString();
- }
-
- public static String attachDefaultURL(final String errorMessage) {
- if (errorMessage != null) {
- int index = errorMessage.indexOf(TIP_STRING_BEGIN);
- if (-1 == index) {
- StringBuilder sb = new StringBuilder();
- sb.append(errorMessage);
- sb.append("\n");
- sb.append("For more information, please visit the url, ");
- sb.append(UNEXPECTED_EXCEPTION_URL);
- return sb.toString();
- }
- }
-
- return errorMessage;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/hook/FilterCheckHook.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/hook/FilterCheckHook.java b/common/src/main/java/com/alibaba/rocketmq/common/hook/FilterCheckHook.java
deleted file mode 100644
index f5d9d7e..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/hook/FilterCheckHook.java
+++ /dev/null
@@ -1,33 +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 com.alibaba.rocketmq.common.hook;
-
-import java.nio.ByteBuffer;
-
-
-/**
- *
- * @author manhong.yqd
- *
- */
-public interface FilterCheckHook {
- public String hookName();
-
-
- public boolean isFilterMatched(final boolean isUnitMode, final ByteBuffer byteBuffer);
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/message/Message.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/message/Message.java b/common/src/main/java/com/alibaba/rocketmq/common/message/Message.java
deleted file mode 100644
index eeb6f52..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/message/Message.java
+++ /dev/null
@@ -1,212 +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 com.alibaba.rocketmq.common.message;
-
-import java.io.Serializable;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
-
-/**
- *
- * @author shijia.wxr
- *
- */
-public class Message implements Serializable {
- private static final long serialVersionUID = 8445773977080406428L;
-
- private String topic;
- private int flag;
- private Map<String, String> properties;
- private byte[] body;
-
-
- public Message() {
- }
-
-
- public Message(String topic, byte[] body) {
- this(topic, "", "", 0, body, true);
- }
-
-
- public Message(String topic, String tags, String keys, int flag, byte[] body, boolean waitStoreMsgOK) {
- this.topic = topic;
- this.flag = flag;
- this.body = body;
-
- if (tags != null && tags.length() > 0)
- this.setTags(tags);
-
- if (keys != null && keys.length() > 0)
- this.setKeys(keys);
-
- this.setWaitStoreMsgOK(waitStoreMsgOK);
- }
-
- public void setKeys(String keys) {
- this.putProperty(MessageConst.PROPERTY_KEYS, keys);
- }
-
- void putProperty(final String name, final String value) {
- if (null == this.properties) {
- this.properties = new HashMap<String, String>();
- }
-
- this.properties.put(name, value);
- }
-
-
- public Message(String topic, String tags, byte[] body) {
- this(topic, tags, "", 0, body, true);
- }
-
-
- public Message(String topic, String tags, String keys, byte[] body) {
- this(topic, tags, keys, 0, body, true);
- }
-
- void clearProperty(final String name) {
- if (null != this.properties) {
- this.properties.remove(name);
- }
- }
-
- public void putUserProperty(final String name, final String value) {
- if (MessageConst.STRING_HASH_SET.contains(name)) {
- throw new RuntimeException(String.format(
- "The Property<%s> is used by system, input another please", name));
- }
- this.putProperty(name, value);
- }
-
- public String getUserProperty(final String name) {
- return this.getProperty(name);
- }
-
- public String getProperty(final String name) {
- if (null == this.properties) {
- this.properties = new HashMap<String, String>();
- }
-
- return this.properties.get(name);
- }
-
- public String getTopic() {
- return topic;
- }
-
- public void setTopic(String topic) {
- this.topic = topic;
- }
-
- public String getTags() {
- return this.getProperty(MessageConst.PROPERTY_TAGS);
- }
-
- public void setTags(String tags) {
- this.putProperty(MessageConst.PROPERTY_TAGS, tags);
- }
-
- public String getKeys() {
- return this.getProperty(MessageConst.PROPERTY_KEYS);
- }
-
- public void setKeys(Collection<String> keys) {
- StringBuffer sb = new StringBuffer();
- for (String k : keys) {
- sb.append(k);
- sb.append(MessageConst.KEY_SEPARATOR);
- }
-
- this.setKeys(sb.toString().trim());
- }
-
-
- public int getDelayTimeLevel() {
- String t = this.getProperty(MessageConst.PROPERTY_DELAY_TIME_LEVEL);
- if (t != null) {
- return Integer.parseInt(t);
- }
-
- return 0;
- }
-
-
- public void setDelayTimeLevel(int level) {
- this.putProperty(MessageConst.PROPERTY_DELAY_TIME_LEVEL, String.valueOf(level));
- }
-
-
- public boolean isWaitStoreMsgOK() {
- String result = this.getProperty(MessageConst.PROPERTY_WAIT_STORE_MSG_OK);
- if (null == result)
- return true;
-
- return Boolean.parseBoolean(result);
- }
-
-
- public void setWaitStoreMsgOK(boolean waitStoreMsgOK) {
- this.putProperty(MessageConst.PROPERTY_WAIT_STORE_MSG_OK, Boolean.toString(waitStoreMsgOK));
- }
-
-
- public int getFlag() {
- return flag;
- }
-
-
- public void setFlag(int flag) {
- this.flag = flag;
- }
-
-
- public byte[] getBody() {
- return body;
- }
-
-
- public void setBody(byte[] body) {
- this.body = body;
- }
-
-
- public Map<String, String> getProperties() {
- return properties;
- }
-
-
- void setProperties(Map<String, String> properties) {
- this.properties = properties;
- }
-
- public String getBuyerId() {
- return getProperty(MessageConst.PROPERTY_BUYER_ID);
- }
-
- public void setBuyerId(String buyerId) {
- putProperty(MessageConst.PROPERTY_BUYER_ID, buyerId);
- }
-
- @Override
- public String toString() {
- return "Message [topic=" + topic + ", flag=" + flag + ", properties=" + properties + ", body="
- + (body != null ? body.length : 0) + "]";
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/message/MessageAccessor.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/message/MessageAccessor.java b/common/src/main/java/com/alibaba/rocketmq/common/message/MessageAccessor.java
deleted file mode 100644
index bbbca1a..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/message/MessageAccessor.java
+++ /dev/null
@@ -1,104 +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 com.alibaba.rocketmq.common.message;
-
-import java.util.Map;
-
-
-public class MessageAccessor {
-
- public static void clearProperty(final Message msg, final String name) {
- msg.clearProperty(name);
- }
-
- public static void setProperties(final Message msg, Map<String, String> properties) {
- msg.setProperties(properties);
- }
-
- public static void setTransferFlag(final Message msg, String unit) {
- putProperty(msg, MessageConst.PROPERTY_TRANSFER_FLAG, unit);
- }
-
- public static void putProperty(final Message msg, final String name, final String value) {
- msg.putProperty(name, value);
- }
-
- public static String getTransferFlag(final Message msg) {
- return msg.getProperty(MessageConst.PROPERTY_TRANSFER_FLAG);
- }
-
-
- public static void setCorrectionFlag(final Message msg, String unit) {
- putProperty(msg, MessageConst.PROPERTY_CORRECTION_FLAG, unit);
- }
-
-
- public static String getCorrectionFlag(final Message msg) {
- return msg.getProperty(MessageConst.PROPERTY_CORRECTION_FLAG);
- }
-
-
- public static void setOriginMessageId(final Message msg, String originMessageId) {
- putProperty(msg, MessageConst.PROPERTY_ORIGIN_MESSAGE_ID, originMessageId);
- }
-
-
- public static String getOriginMessageId(final Message msg) {
- return msg.getProperty(MessageConst.PROPERTY_ORIGIN_MESSAGE_ID);
- }
-
-
- public static void setMQ2Flag(final Message msg, String flag) {
- putProperty(msg, MessageConst.PROPERTY_MQ2_FLAG, flag);
- }
-
-
- public static String getMQ2Flag(final Message msg) {
- return msg.getProperty(MessageConst.PROPERTY_MQ2_FLAG);
- }
-
-
- public static void setReconsumeTime(final Message msg, String reconsumeTimes) {
- putProperty(msg, MessageConst.PROPERTY_RECONSUME_TIME, reconsumeTimes);
- }
-
-
- public static String getReconsumeTime(final Message msg) {
- return msg.getProperty(MessageConst.PROPERTY_RECONSUME_TIME);
- }
-
-
- public static void setMaxReconsumeTimes(final Message msg, String maxReconsumeTimes) {
- putProperty(msg, MessageConst.PROPERTY_MAX_RECONSUME_TIMES, maxReconsumeTimes);
- }
-
-
- public static String getMaxReconsumeTimes(final Message msg) {
- return msg.getProperty(MessageConst.PROPERTY_MAX_RECONSUME_TIMES);
- }
-
- public static void setConsumeStartTimeStamp(final Message msg, String propertyConsumeStartTimeStamp) {
- putProperty(msg, MessageConst.PROPERTY_CONSUME_START_TIMESTAMP, propertyConsumeStartTimeStamp);
- }
-
-
- public static String getConsumeStartTimeStamp(final Message msg) {
- return msg.getProperty(MessageConst.PROPERTY_CONSUME_START_TIMESTAMP);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/message/MessageClientExt.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/message/MessageClientExt.java b/common/src/main/java/com/alibaba/rocketmq/common/message/MessageClientExt.java
deleted file mode 100644
index 0ab372e..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/message/MessageClientExt.java
+++ /dev/null
@@ -1,45 +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 com.alibaba.rocketmq.common.message;
-
-public class MessageClientExt extends MessageExt {
-
- public void setOffsetMsgId(String offsetMsgId) {
- super.setMsgId(offsetMsgId);
- }
-
-
- public String getOffsetMsgId() {
- return super.getMsgId();
- }
-
- public void setMsgId(String msgId) {
- //DO NOTHING
- //MessageClientIDSetter.setUniqID(this);
- }
-
- @Override
- public String getMsgId() {
- String uniqID = MessageClientIDSetter.getUniqID(this);
- if (uniqID == null) {
- return this.getOffsetMsgId();
- }
- else {
- return uniqID;
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/message/MessageClientIDSetter.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/message/MessageClientIDSetter.java b/common/src/main/java/com/alibaba/rocketmq/common/message/MessageClientIDSetter.java
deleted file mode 100644
index 82cd3d1..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/message/MessageClientIDSetter.java
+++ /dev/null
@@ -1,142 +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
- * <p>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p>
- * 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 com.alibaba.rocketmq.common.message;
-
-import com.alibaba.rocketmq.common.UtilAll;
-
-import java.nio.ByteBuffer;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.concurrent.atomic.AtomicInteger;
-
-public class MessageClientIDSetter {
- private static final String TOPIC_KEY_SPLITTER = "#";
- private static final int LEN;
- private static final String FIX_STRING;
- private static final AtomicInteger COUNTER;
- private static long startTime;
- private static long nextStartTime;
-
- static {
- LEN = 4 + 2 + 4 + 4 + 2;
- ByteBuffer tempBuffer = ByteBuffer.allocate(10);
- tempBuffer.position(2);
- tempBuffer.putInt(UtilAll.getPid());
- tempBuffer.position(0);
- try {
- tempBuffer.put(UtilAll.getIP());
- } catch (Exception e) {
- tempBuffer.put(createFakeIP());
- }
- tempBuffer.position(6);
- tempBuffer.putInt(MessageClientIDSetter.class.getClassLoader().hashCode()); //4
- FIX_STRING = UtilAll.bytes2string(tempBuffer.array());
- setStartTime(System.currentTimeMillis());
- COUNTER = new AtomicInteger(0);
- }
-
- private synchronized static void setStartTime(long millis) {
- Calendar cal = Calendar.getInstance();
- cal.setTimeInMillis(millis);
- cal.set(Calendar.DAY_OF_MONTH, 1);
- cal.set(Calendar.HOUR, 0);
- cal.set(Calendar.MINUTE, 0);
- cal.set(Calendar.SECOND, 0);
- cal.set(Calendar.MILLISECOND, 0);
- startTime = cal.getTimeInMillis();
- cal.add(Calendar.MONTH, 1);
- nextStartTime = cal.getTimeInMillis();
- }
-
- public static Date getNearlyTimeFromID(String msgID) {
- ByteBuffer buf = ByteBuffer.allocate(8);
- byte[] bytes = UtilAll.string2bytes(msgID);
- buf.put((byte) 0);
- buf.put((byte) 0);
- buf.put((byte) 0);
- buf.put((byte) 0);
- buf.put(bytes, 10, 4);
- buf.position(0);
- long spanMS = buf.getLong();
- Calendar cal = Calendar.getInstance();
- long now = cal.getTimeInMillis();
- cal.set(Calendar.DAY_OF_MONTH, 1);
- cal.set(Calendar.HOUR, 0);
- cal.set(Calendar.MINUTE, 0);
- cal.set(Calendar.SECOND, 0);
- cal.set(Calendar.MILLISECOND, 0);
- long monStartTime = cal.getTimeInMillis();
- if (monStartTime + spanMS >= now) {
- cal.add(Calendar.MONTH, -1);
- monStartTime = cal.getTimeInMillis();
- }
- cal.setTimeInMillis(monStartTime + spanMS);
- return cal.getTime();
- }
-
- public static String getIPStrFromID(String msgID) {
- byte[] ipBytes = getIPFromID(msgID);
- return UtilAll.ipToIPv4Str(ipBytes);
- }
-
- public static byte[] getIPFromID(String msgID) {
- byte[] result = new byte[4];
- byte[] bytes = UtilAll.string2bytes(msgID);
- System.arraycopy(bytes, 0, result, 0, 4);
- return result;
- }
-
- public static String createUniqID() {
- StringBuilder sb = new StringBuilder(LEN * 2);
- sb.append(FIX_STRING);
- sb.append(UtilAll.bytes2string(createUniqIDBuffer()));
- return sb.toString();
- }
-
-
- private static byte[] createUniqIDBuffer() {
- ByteBuffer buffer = ByteBuffer.allocate(4 + 2);
- long current = System.currentTimeMillis();
- if (current >= nextStartTime) {
- setStartTime(current);
- }
- buffer.position(0);
- buffer.putInt((int) (System.currentTimeMillis() - startTime));
- buffer.putShort((short) COUNTER.getAndIncrement());
- return buffer.array();
- }
-
- public static void setUniqID(final Message msg) {
- if (msg.getProperty(MessageConst.PROPERTY_UNIQ_CLIENT_MESSAGE_ID_KEYIDX) == null) {
- msg.putProperty(MessageConst.PROPERTY_UNIQ_CLIENT_MESSAGE_ID_KEYIDX, createUniqID());
- }
- }
-
- public static String getUniqID(final Message msg) {
- return msg.getProperty(MessageConst.PROPERTY_UNIQ_CLIENT_MESSAGE_ID_KEYIDX);
- }
-
- public static byte[] createFakeIP() {
- ByteBuffer bb = ByteBuffer.allocate(8);
- bb.putLong(System.currentTimeMillis());
- bb.position(4);
- byte[] fakeIP = new byte[4];
- bb.get(fakeIP);
- return fakeIP;
- }
-}
-