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 09:14:10 UTC
[19/99] [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/BrokerConfig.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/BrokerConfig.java b/common/src/main/java/com/alibaba/rocketmq/common/BrokerConfig.java
deleted file mode 100644
index ba80a3f..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/BrokerConfig.java
+++ /dev/null
@@ -1,549 +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;
-
-import com.alibaba.rocketmq.common.annotation.ImportantField;
-import com.alibaba.rocketmq.common.constant.PermName;
-import com.alibaba.rocketmq.remoting.common.RemotingUtil;
-
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-
-
-/**
- * @author shijia.wxr
- */
-public class BrokerConfig {
- private String rocketmqHome = System.getProperty(MixAll.ROCKETMQ_HOME_PROPERTY, System.getenv(MixAll.ROCKETMQ_HOME_ENV));
- @ImportantField
- private String namesrvAddr = System.getProperty(MixAll.NAMESRV_ADDR_PROPERTY, System.getenv(MixAll.NAMESRV_ADDR_ENV));
- @ImportantField
- private String brokerIP1 = RemotingUtil.getLocalAddress();
- private String brokerIP2 = RemotingUtil.getLocalAddress();
- @ImportantField
- private String brokerName = localHostName();
- @ImportantField
- private String brokerClusterName = "DefaultCluster";
- @ImportantField
- private long brokerId = MixAll.MASTER_ID;
- private int brokerPermission = PermName.PERM_READ | PermName.PERM_WRITE;
- private int defaultTopicQueueNums = 8;
- @ImportantField
- private boolean autoCreateTopicEnable = true;
-
- private boolean clusterTopicEnable = true;
-
- private boolean brokerTopicEnable = true;
- @ImportantField
- private boolean autoCreateSubscriptionGroup = true;
- private String messageStorePlugIn = "";
-
- private int sendMessageThreadPoolNums = 1; //16 + Runtime.getRuntime().availableProcessors() * 4;
- private int pullMessageThreadPoolNums = 16 + Runtime.getRuntime().availableProcessors() * 2;
- private int adminBrokerThreadPoolNums = 16;
- private int clientManageThreadPoolNums = 32;
- private int consumerManageThreadPoolNums = 32;
-
- private int flushConsumerOffsetInterval = 1000 * 5;
-
- private int flushConsumerOffsetHistoryInterval = 1000 * 60;
-
- @ImportantField
- private boolean rejectTransactionMessage = false;
- @ImportantField
- private boolean fetchNamesrvAddrByAddressServer = false;
- private int sendThreadPoolQueueCapacity = 10000;
- private int pullThreadPoolQueueCapacity = 100000;
- private int clientManagerThreadPoolQueueCapacity = 1000000;
- private int consumerManagerThreadPoolQueueCapacity = 1000000;
-
- private int filterServerNums = 0;
-
- private boolean longPollingEnable = true;
-
- private long shortPollingTimeMills = 1000;
-
- private boolean notifyConsumerIdsChangedEnable = true;
-
- private boolean highSpeedMode = false;
-
- private boolean commercialEnable = true;
- private int commercialTimerCount = 1;
- private int commercialTransCount = 1;
- private int commercialBigCount = 1;
- private int commercialBaseCount = 1;
-
- private boolean transferMsgByHeap = true;
- private int maxDelayTime = 40;
-
-
- private String regionId = MixAll.DEFAULT_TRACE_REGION_ID;
- private int registerBrokerTimeoutMills = 6000;
-
- private boolean slaveReadEnable = false;
-
- private boolean disableConsumeIfConsumerReadSlowly = false;
- private long consumerFallbehindThreshold = 1024 * 1024 * 1024 * 16;
-
- private long waitTimeMillsInSendQueue = 200;
-
- private long startAcceptSendRequestTimeStamp = 0L;
-
- private boolean traceOn = true;
-
- public boolean isTraceOn() {
- return traceOn;
- }
-
- public void setTraceOn(final boolean traceOn) {
- this.traceOn = traceOn;
- }
-
- public long getStartAcceptSendRequestTimeStamp() {
- return startAcceptSendRequestTimeStamp;
- }
-
- public void setStartAcceptSendRequestTimeStamp(final long startAcceptSendRequestTimeStamp) {
- this.startAcceptSendRequestTimeStamp = startAcceptSendRequestTimeStamp;
- }
-
- public long getWaitTimeMillsInSendQueue() {
- return waitTimeMillsInSendQueue;
- }
-
- public void setWaitTimeMillsInSendQueue(final long waitTimeMillsInSendQueue) {
- this.waitTimeMillsInSendQueue = waitTimeMillsInSendQueue;
- }
-
- public long getConsumerFallbehindThreshold() {
- return consumerFallbehindThreshold;
- }
-
- public void setConsumerFallbehindThreshold(final long consumerFallbehindThreshold) {
- this.consumerFallbehindThreshold = consumerFallbehindThreshold;
- }
-
- public boolean isDisableConsumeIfConsumerReadSlowly() {
- return disableConsumeIfConsumerReadSlowly;
- }
-
- public void setDisableConsumeIfConsumerReadSlowly(final boolean disableConsumeIfConsumerReadSlowly) {
- this.disableConsumeIfConsumerReadSlowly = disableConsumeIfConsumerReadSlowly;
- }
-
- public boolean isSlaveReadEnable() {
- return slaveReadEnable;
- }
-
- public void setSlaveReadEnable(final boolean slaveReadEnable) {
- this.slaveReadEnable = slaveReadEnable;
- }
-
- public static String localHostName() {
- try {
- return InetAddress.getLocalHost().getHostName();
- } catch (UnknownHostException e) {
- e.printStackTrace();
- }
-
- return "DEFAULT_BROKER";
- }
-
- public int getRegisterBrokerTimeoutMills() {
- return registerBrokerTimeoutMills;
- }
-
- public void setRegisterBrokerTimeoutMills(final int registerBrokerTimeoutMills) {
- this.registerBrokerTimeoutMills = registerBrokerTimeoutMills;
- }
-
- public String getRegionId() {
- return regionId;
- }
-
- public void setRegionId(final String regionId) {
- this.regionId = regionId;
- }
-
- public boolean isTransferMsgByHeap() {
- return transferMsgByHeap;
- }
-
- public void setTransferMsgByHeap(final boolean transferMsgByHeap) {
- this.transferMsgByHeap = transferMsgByHeap;
- }
-
- public String getMessageStorePlugIn() {
- return messageStorePlugIn;
- }
-
- public void setMessageStorePlugIn(String messageStorePlugIn) {
- this.messageStorePlugIn = messageStorePlugIn;
- }
-
- public boolean isHighSpeedMode() {
- return highSpeedMode;
- }
-
-
- public void setHighSpeedMode(final boolean highSpeedMode) {
- this.highSpeedMode = highSpeedMode;
- }
-
-
- public String getRocketmqHome() {
- return rocketmqHome;
- }
-
-
- public void setRocketmqHome(String rocketmqHome) {
- this.rocketmqHome = rocketmqHome;
- }
-
-
- public String getBrokerName() {
- return brokerName;
- }
-
-
- public void setBrokerName(String brokerName) {
- this.brokerName = brokerName;
- }
-
-
- public int getBrokerPermission() {
- return brokerPermission;
- }
-
-
- public void setBrokerPermission(int brokerPermission) {
- this.brokerPermission = brokerPermission;
- }
-
-
- public int getDefaultTopicQueueNums() {
- return defaultTopicQueueNums;
- }
-
-
- public void setDefaultTopicQueueNums(int defaultTopicQueueNums) {
- this.defaultTopicQueueNums = defaultTopicQueueNums;
- }
-
-
- public boolean isAutoCreateTopicEnable() {
- return autoCreateTopicEnable;
- }
-
-
- public void setAutoCreateTopicEnable(boolean autoCreateTopic) {
- this.autoCreateTopicEnable = autoCreateTopic;
- }
-
-
- public String getBrokerClusterName() {
- return brokerClusterName;
- }
-
-
- public void setBrokerClusterName(String brokerClusterName) {
- this.brokerClusterName = brokerClusterName;
- }
-
-
- public String getBrokerIP1() {
- return brokerIP1;
- }
-
-
- public void setBrokerIP1(String brokerIP1) {
- this.brokerIP1 = brokerIP1;
- }
-
-
- public String getBrokerIP2() {
- return brokerIP2;
- }
-
-
- public void setBrokerIP2(String brokerIP2) {
- this.brokerIP2 = brokerIP2;
- }
-
- public int getSendMessageThreadPoolNums() {
- return sendMessageThreadPoolNums;
- }
-
- public void setSendMessageThreadPoolNums(int sendMessageThreadPoolNums) {
- this.sendMessageThreadPoolNums = sendMessageThreadPoolNums;
- }
-
-
- public int getPullMessageThreadPoolNums() {
- return pullMessageThreadPoolNums;
- }
-
-
- public void setPullMessageThreadPoolNums(int pullMessageThreadPoolNums) {
- this.pullMessageThreadPoolNums = pullMessageThreadPoolNums;
- }
-
-
- public int getAdminBrokerThreadPoolNums() {
- return adminBrokerThreadPoolNums;
- }
-
-
- public void setAdminBrokerThreadPoolNums(int adminBrokerThreadPoolNums) {
- this.adminBrokerThreadPoolNums = adminBrokerThreadPoolNums;
- }
-
-
- public int getFlushConsumerOffsetInterval() {
- return flushConsumerOffsetInterval;
- }
-
-
- public void setFlushConsumerOffsetInterval(int flushConsumerOffsetInterval) {
- this.flushConsumerOffsetInterval = flushConsumerOffsetInterval;
- }
-
-
- public int getFlushConsumerOffsetHistoryInterval() {
- return flushConsumerOffsetHistoryInterval;
- }
-
-
- public void setFlushConsumerOffsetHistoryInterval(int flushConsumerOffsetHistoryInterval) {
- this.flushConsumerOffsetHistoryInterval = flushConsumerOffsetHistoryInterval;
- }
-
-
- public boolean isClusterTopicEnable() {
- return clusterTopicEnable;
- }
-
-
- public void setClusterTopicEnable(boolean clusterTopicEnable) {
- this.clusterTopicEnable = clusterTopicEnable;
- }
-
-
- public String getNamesrvAddr() {
- return namesrvAddr;
- }
-
-
- public void setNamesrvAddr(String namesrvAddr) {
- this.namesrvAddr = namesrvAddr;
- }
-
-
- public long getBrokerId() {
- return brokerId;
- }
-
-
- public void setBrokerId(long brokerId) {
- this.brokerId = brokerId;
- }
-
-
- public boolean isAutoCreateSubscriptionGroup() {
- return autoCreateSubscriptionGroup;
- }
-
-
- public void setAutoCreateSubscriptionGroup(boolean autoCreateSubscriptionGroup) {
- this.autoCreateSubscriptionGroup = autoCreateSubscriptionGroup;
- }
-
-
- public boolean isRejectTransactionMessage() {
- return rejectTransactionMessage;
- }
-
-
- public void setRejectTransactionMessage(boolean rejectTransactionMessage) {
- this.rejectTransactionMessage = rejectTransactionMessage;
- }
-
-
- public boolean isFetchNamesrvAddrByAddressServer() {
- return fetchNamesrvAddrByAddressServer;
- }
-
-
- public void setFetchNamesrvAddrByAddressServer(boolean fetchNamesrvAddrByAddressServer) {
- this.fetchNamesrvAddrByAddressServer = fetchNamesrvAddrByAddressServer;
- }
-
-
- public int getSendThreadPoolQueueCapacity() {
- return sendThreadPoolQueueCapacity;
- }
-
-
- public void setSendThreadPoolQueueCapacity(int sendThreadPoolQueueCapacity) {
- this.sendThreadPoolQueueCapacity = sendThreadPoolQueueCapacity;
- }
-
-
- public int getPullThreadPoolQueueCapacity() {
- return pullThreadPoolQueueCapacity;
- }
-
-
- public void setPullThreadPoolQueueCapacity(int pullThreadPoolQueueCapacity) {
- this.pullThreadPoolQueueCapacity = pullThreadPoolQueueCapacity;
- }
-
-
- public boolean isBrokerTopicEnable() {
- return brokerTopicEnable;
- }
-
-
- public void setBrokerTopicEnable(boolean brokerTopicEnable) {
- this.brokerTopicEnable = brokerTopicEnable;
- }
-
-
- public int getFilterServerNums() {
- return filterServerNums;
- }
-
-
- public void setFilterServerNums(int filterServerNums) {
- this.filterServerNums = filterServerNums;
- }
-
-
- public boolean isLongPollingEnable() {
- return longPollingEnable;
- }
-
-
- public void setLongPollingEnable(boolean longPollingEnable) {
- this.longPollingEnable = longPollingEnable;
- }
-
-
- public boolean isNotifyConsumerIdsChangedEnable() {
- return notifyConsumerIdsChangedEnable;
- }
-
-
- public void setNotifyConsumerIdsChangedEnable(boolean notifyConsumerIdsChangedEnable) {
- this.notifyConsumerIdsChangedEnable = notifyConsumerIdsChangedEnable;
- }
-
-
- public long getShortPollingTimeMills() {
- return shortPollingTimeMills;
- }
-
-
- public void setShortPollingTimeMills(long shortPollingTimeMills) {
- this.shortPollingTimeMills = shortPollingTimeMills;
- }
-
-
- public int getClientManageThreadPoolNums() {
- return clientManageThreadPoolNums;
- }
-
-
- public void setClientManageThreadPoolNums(int clientManageThreadPoolNums) {
- this.clientManageThreadPoolNums = clientManageThreadPoolNums;
- }
-
-
- public boolean isCommercialEnable() {
- return commercialEnable;
- }
-
-
- public void setCommercialEnable(final boolean commercialEnable) {
- this.commercialEnable = commercialEnable;
- }
-
- public int getCommercialTimerCount() {
- return commercialTimerCount;
- }
-
- public void setCommercialTimerCount(final int commercialTimerCount) {
- this.commercialTimerCount = commercialTimerCount;
- }
-
- public int getCommercialTransCount() {
- return commercialTransCount;
- }
-
- public void setCommercialTransCount(final int commercialTransCount) {
- this.commercialTransCount = commercialTransCount;
- }
-
- public int getCommercialBigCount() {
- return commercialBigCount;
- }
-
- public void setCommercialBigCount(final int commercialBigCount) {
- this.commercialBigCount = commercialBigCount;
- }
-
- public int getMaxDelayTime() {
- return maxDelayTime;
- }
-
-
- public void setMaxDelayTime(final int maxDelayTime) {
- this.maxDelayTime = maxDelayTime;
- }
-
- public int getClientManagerThreadPoolQueueCapacity() {
- return clientManagerThreadPoolQueueCapacity;
- }
-
- public void setClientManagerThreadPoolQueueCapacity(int clientManagerThreadPoolQueueCapacity) {
- this.clientManagerThreadPoolQueueCapacity = clientManagerThreadPoolQueueCapacity;
- }
-
- public int getConsumerManagerThreadPoolQueueCapacity() {
- return consumerManagerThreadPoolQueueCapacity;
- }
-
- public void setConsumerManagerThreadPoolQueueCapacity(int consumerManagerThreadPoolQueueCapacity) {
- this.consumerManagerThreadPoolQueueCapacity = consumerManagerThreadPoolQueueCapacity;
- }
-
- public int getConsumerManageThreadPoolNums() {
- return consumerManageThreadPoolNums;
- }
-
- public void setConsumerManageThreadPoolNums(int consumerManageThreadPoolNums) {
- this.consumerManageThreadPoolNums = consumerManageThreadPoolNums;
- }
-
- public int getCommercialBaseCount() {
- return commercialBaseCount;
- }
-
- public void setCommercialBaseCount(int commercialBaseCount) {
- this.commercialBaseCount = commercialBaseCount;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/BrokerConfigSingleton.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/BrokerConfigSingleton.java b/common/src/main/java/com/alibaba/rocketmq/common/BrokerConfigSingleton.java
deleted file mode 100644
index f1bc453..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/BrokerConfigSingleton.java
+++ /dev/null
@@ -1,39 +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 java.util.concurrent.atomic.AtomicBoolean;
-
-public class BrokerConfigSingleton {
- private static AtomicBoolean isInit = new AtomicBoolean();
- private static BrokerConfig brokerConfig;
-
- public static BrokerConfig getBrokerConfig() {
- if (brokerConfig == null) {
- throw new IllegalArgumentException("brokerConfig Cannot be null !");
- }
- return brokerConfig;
- }
-
- public static void setBrokerConfig(BrokerConfig brokerConfig) {
- if (!isInit.compareAndSet(false, true)) {
- throw new IllegalArgumentException("broker config have inited !");
- }
- BrokerConfigSingleton.brokerConfig = brokerConfig;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/ConfigManager.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/ConfigManager.java b/common/src/main/java/com/alibaba/rocketmq/common/ConfigManager.java
deleted file mode 100644
index 3191509..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/ConfigManager.java
+++ /dev/null
@@ -1,89 +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.common.constant.LoggerName;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.IOException;
-
-
-/**
- * @author shijia.wxr
- */
-public abstract class ConfigManager {
- private static final Logger PLOG = LoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME);
-
-
- public abstract String encode();
-
- public boolean load() {
- String fileName = null;
- try {
- fileName = this.configFilePath();
- String jsonString = MixAll.file2String(fileName);
-
- if (null == jsonString || jsonString.length() == 0) {
- return this.loadBak();
- } else {
- this.decode(jsonString);
- PLOG.info("load {} OK", fileName);
- return true;
- }
- } catch (Exception e) {
- PLOG.error("load " + fileName + " Failed, and try to load backup file", e);
- return this.loadBak();
- }
- }
-
- public abstract String configFilePath();
-
- private boolean loadBak() {
- String fileName = null;
- try {
- fileName = this.configFilePath();
- String jsonString = MixAll.file2String(fileName + ".bak");
- if (jsonString != null && jsonString.length() > 0) {
- this.decode(jsonString);
- PLOG.info("load " + fileName + " OK");
- return true;
- }
- } catch (Exception e) {
- PLOG.error("load " + fileName + " Failed", e);
- return false;
- }
-
- return true;
- }
-
- public abstract void decode(final String jsonString);
-
- public synchronized void persist() {
- String jsonString = this.encode(true);
- if (jsonString != null) {
- String fileName = this.configFilePath();
- try {
- MixAll.string2File(jsonString, fileName);
- } catch (IOException e) {
- PLOG.error("persist file Exception, " + fileName, e);
- }
- }
- }
-
- public abstract String encode(final boolean prettyFormat);
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/Configuration.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/Configuration.java b/common/src/main/java/com/alibaba/rocketmq/common/Configuration.java
deleted file mode 100644
index 8b69c1f..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/Configuration.java
+++ /dev/null
@@ -1,310 +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 org.slf4j.Logger;
-
-import java.io.IOException;
-import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Properties;
-import java.util.concurrent.locks.ReadWriteLock;
-import java.util.concurrent.locks.ReentrantReadWriteLock;
-
-/**
- * @author xigu.lx
- */
-public class Configuration {
-
- private final Logger log;
-
- private List<Object> configObjectList = new ArrayList<Object>(4);
- private String storePath;
- private boolean storePathFromConfig = false;
- private Object storePathObject;
- private Field storePathField;
- private DataVersion dataVersion = new DataVersion();
- private ReadWriteLock readWriteLock = new ReentrantReadWriteLock();
- /**
- * All properties include configs in object and extend properties.
- */
- private Properties allConfigs = new Properties();
-
- public Configuration(Logger log) {
- this.log = log;
- }
-
- public Configuration(Logger log, Object... configObjects) {
- this.log = log;
- if (configObjects == null || configObjects.length == 0) {
- return;
- }
- for (Object configObject : configObjects) {
- registerConfig(configObject);
- }
- }
-
- public Configuration(Logger log, String storePath, Object... configObjects) {
- this(log, configObjects);
- this.storePath = storePath;
- }
-
- /**
- * register config object
- *
- * @param configObject
- * @return the current Configuration object
- */
- public Configuration registerConfig(Object configObject) {
- try {
- readWriteLock.writeLock().lockInterruptibly();
-
- try {
-
- Properties registerProps = MixAll.object2Properties(configObject);
-
- merge(registerProps, this.allConfigs);
-
- configObjectList.add(configObject);
- } finally {
- readWriteLock.writeLock().unlock();
- }
- } catch (InterruptedException e) {
- log.error("registerConfig lock error");
- }
- return this;
- }
-
- /**
- * register config properties
- *
- * @param extProperties
- * @return the current Configuration object
- */
- public Configuration registerConfig(Properties extProperties) {
- if (extProperties == null) {
- return this;
- }
-
- try {
- readWriteLock.writeLock().lockInterruptibly();
-
- try {
- merge(extProperties, this.allConfigs);
- } finally {
- readWriteLock.writeLock().unlock();
- }
- } catch (InterruptedException e) {
- log.error("register lock error. {}" + extProperties);
- }
-
- return this;
- }
-
- /**
- * The store path will be gotten from the field of object.
- *
- * @param object
- * @param fieldName
- *
- * @throws java.lang.RuntimeException if the field of object is not exist.
- */
- public void setStorePathFromConfig(Object object, String fieldName) {
- assert object != null;
-
- try {
- readWriteLock.writeLock().lockInterruptibly();
-
- try {
- this.storePathFromConfig = true;
- this.storePathObject = object;
- // check
- this.storePathField = object.getClass().getDeclaredField(fieldName);
- assert this.storePathField != null
- && !Modifier.isStatic(this.storePathField.getModifiers());
- this.storePathField.setAccessible(true);
- } catch (NoSuchFieldException e) {
- throw new RuntimeException(e);
- } finally {
- readWriteLock.writeLock().unlock();
- }
- } catch (InterruptedException e) {
- log.error("setStorePathFromConfig lock error");
- }
- }
-
- private String getStorePath() {
- String realStorePath = null;
- try {
- readWriteLock.readLock().lockInterruptibly();
-
- try {
- realStorePath = this.storePath;
-
- if (this.storePathFromConfig) {
- try {
- realStorePath = (String) storePathField.get(this.storePathObject);
- } catch (IllegalAccessException e) {
- log.error("getStorePath error, ", e);
- }
- }
- } finally {
- readWriteLock.readLock().unlock();
- }
- } catch (InterruptedException e) {
- log.error("getStorePath lock error");
- }
-
- return realStorePath;
- }
-
- public void update(Properties properties) {
- try {
- readWriteLock.writeLock().lockInterruptibly();
-
- try {
- // the property must be exist when update
- mergeIfExist(properties, this.allConfigs);
-
- for (Object configObject : configObjectList) {
- // not allConfigs to update...
- MixAll.properties2Object(properties, configObject);
- }
-
- this.dataVersion.nextVersion();
-
- } finally {
- readWriteLock.writeLock().unlock();
- }
- } catch (InterruptedException e) {
- log.error("update lock error, {}", properties);
- return;
- }
-
- persist();
- }
-
- public void persist() {
- try {
- readWriteLock.readLock().lockInterruptibly();
-
- try {
- String allConfigs = getAllConfigsInternal();
-
- MixAll.string2File(allConfigs, getStorePath());
- } catch (IOException e) {
- log.error("persist string2File error, ", e);
- } finally {
- readWriteLock.readLock().unlock();
- }
- } catch (InterruptedException e) {
- log.error("persist lock error");
- }
- }
-
- public String getAllConfigsFormatString() {
- try {
- readWriteLock.readLock().lockInterruptibly();
-
- try {
-
- return getAllConfigsInternal();
-
- } finally {
- readWriteLock.readLock().unlock();
- }
- } catch (InterruptedException e) {
- log.error("getAllConfigsFormatString lock error");
- }
-
- return null;
- }
-
- public String getDataVersionJson() {
- return this.dataVersion.toJson();
- }
-
- public Properties getAllConfigs() {
- try {
- readWriteLock.readLock().lockInterruptibly();
-
- try {
-
- return this.allConfigs;
-
- } finally {
- readWriteLock.readLock().unlock();
- }
- } catch (InterruptedException e) {
- log.error("getAllConfigs lock error");
- }
-
- return null;
- }
-
- private String getAllConfigsInternal() {
- StringBuilder stringBuilder = new StringBuilder();
-
- // reload from config object ?
- for (Object configObject : this.configObjectList) {
- Properties properties = MixAll.object2Properties(configObject);
- if (properties != null) {
- merge(properties, this.allConfigs);
- } else {
- log.warn("getAllConfigsInternal object2Properties is null, {}", configObject.getClass());
- }
- }
-
- {
- stringBuilder.append(MixAll.properties2String(this.allConfigs));
- }
-
- return stringBuilder.toString();
- }
-
- public void setStorePath(final String storePath) {
- this.storePath = storePath;
- }
-
- private void merge(Properties from, Properties to) {
- for (Object key : from.keySet()) {
- Object fromObj = from.get(key), toObj = to.get(key);
- if (toObj != null && !toObj.equals(fromObj)) {
- log.info("Replace, key: {}, value: {} -> {}", key, toObj, fromObj);
- }
- to.put(key, fromObj);
- }
- }
-
- private void mergeIfExist(Properties from, Properties to) {
- for (Object key : from.keySet()) {
- if (!to.containsKey(key)) {
- continue;
- }
-
- Object fromObj = from.get(key), toObj = to.get(key);
- if (toObj != null && !toObj.equals(fromObj)) {
- log.info("Replace, key: {}, value: {} -> {}", key, toObj, fromObj);
- }
- to.put(key, fromObj);
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/CountDownLatch.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/CountDownLatch.java b/common/src/main/java/com/alibaba/rocketmq/common/CountDownLatch.java
deleted file mode 100644
index a5cc9a1..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/CountDownLatch.java
+++ /dev/null
@@ -1,207 +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 java.util.concurrent.TimeUnit;
-import java.util.concurrent.locks.AbstractQueuedSynchronizer;
-
-/**
- * Add reset feature for @see java.util.concurrent.CountDownLatch
- *
- * @author xinyuzhou.zxy
- */
-public class CountDownLatch {
- /**
- * Synchronization control For CountDownLatch.
- * Uses AQS state to represent count.
- */
- private static final class Sync extends AbstractQueuedSynchronizer {
- private static final long serialVersionUID = 4982264981922014374L;
-
- private final int startCount;
-
- Sync(int count) {
- this.startCount = count;
- setState(count);
- }
-
- int getCount() {
- return getState();
- }
-
- protected int tryAcquireShared(int acquires) {
- return (getState() == 0) ? 1 : -1;
- }
-
- protected boolean tryReleaseShared(int releases) {
- // Decrement count; signal when transition to zero
- for (;;) {
- int c = getState();
- if (c == 0)
- return false;
- int nextc = c - 1;
- if (compareAndSetState(c, nextc))
- return nextc == 0;
- }
- }
-
- protected void reset() {
- setState(startCount);
- }
- }
-
- private final Sync sync;
-
- /**
- * Constructs a {@code CountDownLatch} initialized with the given count.
- *
- * @param count
- * the number of times {@link #countDown} must be invoked
- * before threads can pass through {@link #await}
- *
- * @throws IllegalArgumentException
- * if {@code count} is negative
- */
- public CountDownLatch(int count) {
- if (count < 0) throw new IllegalArgumentException("count < 0");
- this.sync = new Sync(count);
- }
-
- /**
- * Causes the current thread to wait until the latch has counted down to
- * zero, unless the thread is {@linkplain Thread#interrupt interrupted}.
- *
- * <p>If the current count is zero then this method returns immediately.
- *
- * <p>If the current count is greater than zero then the current
- * thread becomes disabled for thread scheduling purposes and lies
- * dormant until one of two things happen:
- * <ul>
- * <li>The count reaches zero due to invocations of the
- * {@link #countDown} method; or
- * <li>Some other thread {@linkplain Thread#interrupt interrupts}
- * the current thread.
- * </ul>
- *
- * <p>If the current thread:
- * <ul>
- * <li>has its interrupted status set on entry to this method; or
- * <li>is {@linkplain Thread#interrupt interrupted} while waiting,
- * </ul>
- * then {@link InterruptedException} is thrown and the current thread's
- * interrupted status is cleared.
- *
- * @throws InterruptedException
- * if the current thread is interrupted
- * while waiting
- */
- public void await() throws InterruptedException {
- sync.acquireSharedInterruptibly(1);
- }
-
- /**
- * Causes the current thread to wait until the latch has counted down to
- * zero, unless the thread is {@linkplain Thread#interrupt interrupted},
- * or the specified waiting time elapses.
- *
- * <p>If the current count is zero then this method returns immediately
- * with the value {@code true}.
- *
- * <p>If the current count is greater than zero then the current
- * thread becomes disabled for thread scheduling purposes and lies
- * dormant until one of three things happen:
- * <ul>
- * <li>The count reaches zero due to invocations of the
- * {@link #countDown} method; or
- * <li>Some other thread {@linkplain Thread#interrupt interrupts}
- * the current thread; or
- * <li>The specified waiting time elapses.
- * </ul>
- *
- * <p>If the count reaches zero then the method returns with the
- * value {@code true}.
- *
- * <p>If the current thread:
- * <ul>
- * <li>has its interrupted status set on entry to this method; or
- * <li>is {@linkplain Thread#interrupt interrupted} while waiting,
- * </ul>
- * then {@link InterruptedException} is thrown and the current thread's
- * interrupted status is cleared.
- *
- * <p>If the specified waiting time elapses then the value {@code false}
- * is returned. If the time is less than or equal to zero, the method
- * will not wait at all.
- *
- * @param timeout
- * the maximum time to wait
- * @param unit
- * the time unit of the {@code timeout} argument
- *
- * @return {@code true} if the count reached zero and {@code false}
- * if the waiting time elapsed before the count reached zero
- *
- * @throws InterruptedException
- * if the current thread is interrupted
- * while waiting
- */
- public boolean await(long timeout, TimeUnit unit)
- throws InterruptedException {
- return sync.tryAcquireSharedNanos(1, unit.toNanos(timeout));
- }
-
- /**
- * Decrements the count of the latch, releasing all waiting threads if
- * the count reaches zero.
- *
- * <p>If the current count is greater than zero then it is decremented.
- * If the new count is zero then all waiting threads are re-enabled for
- * thread scheduling purposes.
- *
- * <p>If the current count equals zero then nothing happens.
- */
- public void countDown() {
- sync.releaseShared(1);
- }
-
- /**
- * Returns the current count.
- *
- * <p>This method is typically used for debugging and testing purposes.
- *
- * @return the current count
- */
- public long getCount() {
- return sync.getCount();
- }
-
- public void reset() {
- sync.reset();
- }
-
- /**
- * Returns a string identifying this latch, as well as its state.
- * The state, in brackets, includes the String {@code "Count ="}
- * followed by the current count.
- *
- * @return a string identifying this latch, as well as its state
- */
- public String toString() {
- return super.toString() + "[Count = " + sync.getCount() + "]";
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/DataVersion.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/DataVersion.java b/common/src/main/java/com/alibaba/rocketmq/common/DataVersion.java
deleted file mode 100644
index eb78ba1..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/DataVersion.java
+++ /dev/null
@@ -1,82 +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.protocol.RemotingSerializable;
-
-import java.util.concurrent.atomic.AtomicLong;
-
-
-/**
- * @author shijia.wxr
- */
-public class DataVersion extends RemotingSerializable {
- private long timestatmp = System.currentTimeMillis();
- private AtomicLong counter = new AtomicLong(0);
-
-
- public void assignNewOne(final DataVersion dataVersion) {
- this.timestatmp = dataVersion.timestatmp;
- this.counter.set(dataVersion.counter.get());
- }
-
-
- public void nextVersion() {
- this.timestatmp = System.currentTimeMillis();
- this.counter.incrementAndGet();
- }
-
-
- public long getTimestatmp() {
- return timestatmp;
- }
-
-
- public void setTimestatmp(long timestatmp) {
- this.timestatmp = timestatmp;
- }
-
-
- public AtomicLong getCounter() {
- return counter;
- }
-
-
- public void setCounter(AtomicLong counter) {
- this.counter = counter;
- }
-
-
- @Override
- public boolean equals(final Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
-
- final DataVersion that = (DataVersion) o;
-
- if (timestatmp != that.timestatmp) return false;
- return counter != null ? counter.equals(that.counter) : that.counter == null;
-
- }
-
- @Override
- public int hashCode() {
- int result = (int) (timestatmp ^ (timestatmp >>> 32));
- result = 31 * result + (counter != null ? counter.hashCode() : 0);
- return result;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/MQVersion.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/MQVersion.java b/common/src/main/java/com/alibaba/rocketmq/common/MQVersion.java
deleted file mode 100644
index 19afb09..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/MQVersion.java
+++ /dev/null
@@ -1,362 +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;
-
-/**
- * @author shijia.wxr
- */
-public class MQVersion {
-
- public static final int CURRENT_VERSION = Version.V4_0_0_SNAPSHOT.ordinal();
-
-
- public static String getVersionDesc(int value) {
- try {
- Version v = Version.values()[value];
- return v.name();
- } catch (Exception e) {
- }
-
- return "HigherVersion";
- }
-
-
- public static Version value2Version(int value) {
- return Version.values()[value];
- }
-
- public enum Version {
- V3_0_0_SNAPSHOT,
- V3_0_0_ALPHA1,
- V3_0_0_BETA1,
- V3_0_0_BETA2,
- V3_0_0_BETA3,
- V3_0_0_BETA4,
- V3_0_0_BETA5,
- V3_0_0_BETA6_SNAPSHOT,
- V3_0_0_BETA6,
- V3_0_0_BETA7_SNAPSHOT,
- V3_0_0_BETA7,
- V3_0_0_BETA8_SNAPSHOT,
- V3_0_0_BETA8,
- V3_0_0_BETA9_SNAPSHOT,
- V3_0_0_BETA9,
- V3_0_0_FINAL,
- V3_0_1_SNAPSHOT,
- V3_0_1,
- V3_0_2_SNAPSHOT,
- V3_0_2,
- V3_0_3_SNAPSHOT,
- V3_0_3,
- V3_0_4_SNAPSHOT,
- V3_0_4,
- V3_0_5_SNAPSHOT,
- V3_0_5,
- V3_0_6_SNAPSHOT,
- V3_0_6,
- V3_0_7_SNAPSHOT,
- V3_0_7,
- V3_0_8_SNAPSHOT,
- V3_0_8,
- V3_0_9_SNAPSHOT,
- V3_0_9,
-
- V3_0_10_SNAPSHOT,
- V3_0_10,
-
- V3_0_11_SNAPSHOT,
- V3_0_11,
-
- V3_0_12_SNAPSHOT,
- V3_0_12,
-
- V3_0_13_SNAPSHOT,
- V3_0_13,
-
- V3_0_14_SNAPSHOT,
- V3_0_14,
-
- V3_0_15_SNAPSHOT,
- V3_0_15,
-
- V3_1_0_SNAPSHOT,
- V3_1_0,
-
- V3_1_1_SNAPSHOT,
- V3_1_1,
-
- V3_1_2_SNAPSHOT,
- V3_1_2,
-
- V3_1_3_SNAPSHOT,
- V3_1_3,
-
- V3_1_4_SNAPSHOT,
- V3_1_4,
-
- V3_1_5_SNAPSHOT,
- V3_1_5,
-
- V3_1_6_SNAPSHOT,
- V3_1_6,
-
- V3_1_7_SNAPSHOT,
- V3_1_7,
-
- V3_1_8_SNAPSHOT,
- V3_1_8,
-
- V3_1_9_SNAPSHOT,
- V3_1_9,
-
- V3_2_0_SNAPSHOT,
- V3_2_0,
-
- V3_2_1_SNAPSHOT,
- V3_2_1,
-
- V3_2_2_SNAPSHOT,
- V3_2_2,
-
- V3_2_3_SNAPSHOT,
- V3_2_3,
-
- V3_2_4_SNAPSHOT,
- V3_2_4,
-
- V3_2_5_SNAPSHOT,
- V3_2_5,
-
- V3_2_6_SNAPSHOT,
- V3_2_6,
-
- V3_2_7_SNAPSHOT,
- V3_2_7,
-
- V3_2_8_SNAPSHOT,
- V3_2_8,
-
- V3_2_9_SNAPSHOT,
- V3_2_9,
-
- V3_3_1_SNAPSHOT,
- V3_3_1,
-
- V3_3_2_SNAPSHOT,
- V3_3_2,
-
- V3_3_3_SNAPSHOT,
- V3_3_3,
-
- V3_3_4_SNAPSHOT,
- V3_3_4,
-
- V3_3_5_SNAPSHOT,
- V3_3_5,
-
- V3_3_6_SNAPSHOT,
- V3_3_6,
-
- V3_3_7_SNAPSHOT,
- V3_3_7,
-
- V3_3_8_SNAPSHOT,
- V3_3_8,
-
- V3_3_9_SNAPSHOT,
- V3_3_9,
-
- V3_4_1_SNAPSHOT,
- V3_4_1,
-
- V3_4_2_SNAPSHOT,
- V3_4_2,
-
- V3_4_3_SNAPSHOT,
- V3_4_3,
-
- V3_4_4_SNAPSHOT,
- V3_4_4,
-
- V3_4_5_SNAPSHOT,
- V3_4_5,
-
- V3_4_6_SNAPSHOT,
- V3_4_6,
-
- V3_4_7_SNAPSHOT,
- V3_4_7,
-
- V3_4_8_SNAPSHOT,
- V3_4_8,
-
- V3_4_9_SNAPSHOT,
- V3_4_9,
- V3_5_1_SNAPSHOT,
- V3_5_1,
-
- V3_5_2_SNAPSHOT,
- V3_5_2,
-
- V3_5_3_SNAPSHOT,
- V3_5_3,
-
- V3_5_4_SNAPSHOT,
- V3_5_4,
-
- V3_5_5_SNAPSHOT,
- V3_5_5,
-
- V3_5_6_SNAPSHOT,
- V3_5_6,
-
- V3_5_7_SNAPSHOT,
- V3_5_7,
-
- V3_5_8_SNAPSHOT,
- V3_5_8,
-
- V3_5_9_SNAPSHOT,
- V3_5_9,
-
- V3_6_1_SNAPSHOT,
- V3_6_1,
-
- V3_6_2_SNAPSHOT,
- V3_6_2,
-
- V3_6_3_SNAPSHOT,
- V3_6_3,
-
- V3_6_4_SNAPSHOT,
- V3_6_4,
-
- V3_6_5_SNAPSHOT,
- V3_6_5,
-
- V3_6_6_SNAPSHOT,
- V3_6_6,
-
- V3_6_7_SNAPSHOT,
- V3_6_7,
-
- V3_6_8_SNAPSHOT,
- V3_6_8,
-
- V3_6_9_SNAPSHOT,
- V3_6_9,
-
- V3_7_1_SNAPSHOT,
- V3_7_1,
-
- V3_7_2_SNAPSHOT,
- V3_7_2,
-
- V3_7_3_SNAPSHOT,
- V3_7_3,
-
- V3_7_4_SNAPSHOT,
- V3_7_4,
-
- V3_7_5_SNAPSHOT,
- V3_7_5,
-
- V3_7_6_SNAPSHOT,
- V3_7_6,
-
- V3_7_7_SNAPSHOT,
- V3_7_7,
-
- V3_7_8_SNAPSHOT,
- V3_7_8,
-
- V3_7_9_SNAPSHOT,
- V3_7_9,
-
- V3_8_1_SNAPSHOT,
- V3_8_1,
-
- V3_8_2_SNAPSHOT,
- V3_8_2,
-
- V3_8_3_SNAPSHOT,
- V3_8_3,
-
- V3_8_4_SNAPSHOT,
- V3_8_4,
-
- V3_8_5_SNAPSHOT,
- V3_8_5,
-
- V3_8_6_SNAPSHOT,
- V3_8_6,
-
- V3_8_7_SNAPSHOT,
- V3_8_7,
-
- V3_8_8_SNAPSHOT,
- V3_8_8,
-
- V3_8_9_SNAPSHOT,
- V3_8_9,
-
- V3_9_1_SNAPSHOT,
- V3_9_1,
-
- V3_9_2_SNAPSHOT,
- V3_9_2,
-
- V3_9_3_SNAPSHOT,
- V3_9_3,
-
- V3_9_4_SNAPSHOT,
- V3_9_4,
-
- V3_9_5_SNAPSHOT,
- V3_9_5,
-
- V3_9_6_SNAPSHOT,
- V3_9_6,
-
- V3_9_7_SNAPSHOT,
- V3_9_7,
-
- V3_9_8_SNAPSHOT,
- V3_9_8,
-
- V3_9_9_SNAPSHOT,
- V3_9_9,
-
- V4_0_0_SNAPSHOT,
- V4_0_0,
-
- V4_1_0_SNAPSHOT,
- V4_1_0,
-
- V4_2_0_SNAPSHOT,
- V4_2_0,
-
- V4_3_0_SNAPSHOT,
- V4_3_0,
-
- V4_4_0_SNAPSHOT,
- V4_4_0,
-
- V4_5_0_SNAPSHOT,
- V4_5_0,
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/MixAll.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/MixAll.java b/common/src/main/java/com/alibaba/rocketmq/common/MixAll.java
deleted file mode 100644
index 508111c..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/MixAll.java
+++ /dev/null
@@ -1,486 +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.common.annotation.ImportantField;
-import com.alibaba.rocketmq.common.help.FAQUrl;
-import org.slf4j.Logger;
-
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.net.InetAddress;
-import java.net.InetSocketAddress;
-import java.net.NetworkInterface;
-import java.net.SocketException;
-import java.net.URL;
-import java.net.URLConnection;
-import java.nio.ByteBuffer;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-import java.util.concurrent.atomic.AtomicLong;
-
-
-/**
- * @author shijia.wxr
- */
-public class MixAll {
- public static final String ROCKETMQ_HOME_ENV = "ROCKETMQ_HOME";
- public static final String ROCKETMQ_HOME_PROPERTY = "rocketmq.home.dir";
- public static final String NAMESRV_ADDR_ENV = "NAMESRV_ADDR";
- public static final String NAMESRV_ADDR_PROPERTY = "rocketmq.namesrv.addr";
- public static final String MESSAGE_COMPRESS_LEVEL = "rocketmq.message.compressLevel";
- public static final String WS_DOMAIN_NAME = System.getProperty("rocketmq.namesrv.domain", "jmenv.tbsite.net");
- public static final String WS_DOMAIN_SUBGROUP = System.getProperty("rocketmq.namesrv.domain.subgroup", "nsaddr");
- // http://jmenv.tbsite.net:8080/rocketmq/nsaddr
- public static final String WS_ADDR = "http://" + WS_DOMAIN_NAME + ":8080/rocketmq/" + WS_DOMAIN_SUBGROUP;
- public static final String DEFAULT_TOPIC = "TBW102";
- public static final String BENCHMARK_TOPIC = "BenchmarkTest";
- public static final String DEFAULT_PRODUCER_GROUP = "DEFAULT_PRODUCER";
- public static final String DEFAULT_CONSUMER_GROUP = "DEFAULT_CONSUMER";
- public static final String TOOLS_CONSUMER_GROUP = "TOOLS_CONSUMER";
- public static final String FILTERSRV_CONSUMER_GROUP = "FILTERSRV_CONSUMER";
- public static final String MONITOR_CONSUMER_GROUP = "__MONITOR_CONSUMER";
- public static final String CLIENT_INNER_PRODUCER_GROUP = "CLIENT_INNER_PRODUCER";
- public static final String SELF_TEST_PRODUCER_GROUP = "SELF_TEST_P_GROUP";
- public static final String SELF_TEST_CONSUMER_GROUP = "SELF_TEST_C_GROUP";
- public static final String SELF_TEST_TOPIC = "SELF_TEST_TOPIC";
- public static final String OFFSET_MOVED_EVENT = "OFFSET_MOVED_EVENT";
- public static final String ONS_HTTP_PROXY_GROUP = "CID_ONS-HTTP-PROXY";
- public static final String CID_ONSAPI_PERMISSION_GROUP = "CID_ONSAPI_PERMISSION";
- public static final String CID_ONSAPI_OWNER_GROUP = "CID_ONSAPI_OWNER";
- public static final String CID_ONSAPI_PULL_GROUP = "CID_ONSAPI_PULL";
- public static final String CID_RMQ_SYS_PREFIX = "CID_RMQ_SYS_";
-
- public static final List<String> LOCAL_INET_ADDRESS = getLocalInetAddress();
- public static final String LOCALHOST = localhost();
- public static final String DEFAULT_CHARSET = "UTF-8";
- public static final long MASTER_ID = 0L;
- public static final long CURRENT_JVM_PID = getPID();
-
- public static final String RETRY_GROUP_TOPIC_PREFIX = "%RETRY%";
-
- public static final String DLQ_GROUP_TOPIC_PREFIX = "%DLQ%";
- public static final String SYSTEM_TOPIC_PREFIX = "rmq_sys_";
- public static final String UNIQUE_MSG_QUERY_FLAG = "_UNIQUE_KEY_QUERY";
- public static final String DEFAULT_TRACE_REGION_ID = "DefaultRegion";
- public static final String CONSUME_CONTEXT_TYPE = "ConsumeContextType";
-
- public static String getRetryTopic(final String consumerGroup) {
- return RETRY_GROUP_TOPIC_PREFIX + consumerGroup;
- }
-
-
- public static boolean isSysConsumerGroup(final String consumerGroup) {
- return consumerGroup.startsWith(CID_RMQ_SYS_PREFIX);
- }
-
- public static boolean isSystemTopic(final String topic) {
- return topic.startsWith(SYSTEM_TOPIC_PREFIX);
- }
-
- public static String getDLQTopic(final String consumerGroup) {
- return DLQ_GROUP_TOPIC_PREFIX + consumerGroup;
- }
-
-
- public static String brokerVIPChannel(final boolean isChange, final String brokerAddr) {
- if (isChange) {
- String[] ipAndPort = brokerAddr.split(":");
- String brokerAddrNew = ipAndPort[0] + ":" + (Integer.parseInt(ipAndPort[1]) - 2);
- return brokerAddrNew;
- } else {
- return brokerAddr;
- }
- }
-
-
- public static long getPID() {
- String processName = java.lang.management.ManagementFactory.getRuntimeMXBean().getName();
- if (processName != null && processName.length() > 0) {
- try {
- return Long.parseLong(processName.split("@")[0]);
- } catch (Exception e) {
- return 0;
- }
- }
-
- return 0;
- }
-
-
- public static long createBrokerId(final String ip, final int port) {
- InetSocketAddress isa = new InetSocketAddress(ip, port);
- byte[] ipArray = isa.getAddress().getAddress();
- ByteBuffer bb = ByteBuffer.allocate(8);
- bb.put(ipArray);
- bb.putInt(port);
- long value = bb.getLong(0);
- return Math.abs(value);
- }
-
- public static final void string2File(final String str, final String fileName) throws IOException {
-
- String tmpFile = fileName + ".tmp";
- string2FileNotSafe(str, tmpFile);
-
-
- String bakFile = fileName + ".bak";
- String prevContent = file2String(fileName);
- if (prevContent != null) {
- string2FileNotSafe(prevContent, bakFile);
- }
-
-
- File file = new File(fileName);
- file.delete();
-
-
- file = new File(tmpFile);
- file.renameTo(new File(fileName));
- }
-
-
- public static final void string2FileNotSafe(final String str, final String fileName) throws IOException {
- File file = new File(fileName);
- File fileParent = file.getParentFile();
- if (fileParent != null) {
- fileParent.mkdirs();
- }
- FileWriter fileWriter = null;
-
- try {
- fileWriter = new FileWriter(file);
- fileWriter.write(str);
- } catch (IOException e) {
- throw e;
- } finally {
- if (fileWriter != null) {
- try {
- fileWriter.close();
- } catch (IOException e) {
- throw e;
- }
- }
- }
- }
-
-
- public static final String file2String(final String fileName) {
- File file = new File(fileName);
- return file2String(file);
- }
-
- public static final String file2String(final File file) {
- if (file.exists()) {
- char[] data = new char[(int) file.length()];
- boolean result = false;
-
- FileReader fileReader = null;
- try {
- fileReader = new FileReader(file);
- int len = fileReader.read(data);
- result = len == data.length;
- } catch (IOException e) {
- // e.printStackTrace();
- } finally {
- if (fileReader != null) {
- try {
- fileReader.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
-
- if (result) {
- return new String(data);
- }
- }
- return null;
- }
-
- public static final String file2String(final URL url) {
- InputStream in = null;
- try {
- URLConnection urlConnection = url.openConnection();
- urlConnection.setUseCaches(false);
- in = urlConnection.getInputStream();
- int len = in.available();
- byte[] data = new byte[len];
- in.read(data, 0, len);
- return new String(data, "UTF-8");
- } catch (Exception e) {
- } finally {
- if (null != in) {
- try {
- in.close();
- } catch (IOException e) {
- }
- }
- }
-
- return null;
- }
-
- public static String findClassPath(Class<?> c) {
- URL url = c.getProtectionDomain().getCodeSource().getLocation();
- return url.getPath();
- }
-
-
- public static void printObjectProperties(final Logger log, final Object object) {
- printObjectProperties(log, object, false);
- }
-
-
- public static void printObjectProperties(final Logger log, final Object object, final boolean onlyImportantField) {
- Field[] fields = object.getClass().getDeclaredFields();
- for (Field field : fields) {
- if (!Modifier.isStatic(field.getModifiers())) {
- String name = field.getName();
- if (!name.startsWith("this")) {
- Object value = null;
- try {
- field.setAccessible(true);
- value = field.get(object);
- if (null == value) {
- value = "";
- }
- } catch (IllegalArgumentException e) {
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- }
-
- if (onlyImportantField) {
- Annotation annotation = field.getAnnotation(ImportantField.class);
- if (null == annotation) {
- continue;
- }
- }
-
- if (log != null) {
- log.info(name + "=" + value);
- } else {
- }
- }
- }
- }
- }
-
-
- public static String properties2String(final Properties properties) {
- StringBuilder sb = new StringBuilder();
- for (Map.Entry<Object, Object> entry : properties.entrySet()) {
- if (entry.getValue() != null) {
- sb.append(entry.getKey().toString() + "=" + entry.getValue().toString() + "\n");
- }
- }
- return sb.toString();
- }
-
- public static Properties string2Properties(final String str) {
- Properties properties = new Properties();
- try {
- InputStream in = new ByteArrayInputStream(str.getBytes(DEFAULT_CHARSET));
- properties.load(in);
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- return null;
- } catch (IOException e) {
- e.printStackTrace();
- return null;
- }
-
- return properties;
- }
-
- public static Properties object2Properties(final Object object) {
- Properties properties = new Properties();
-
- Field[] fields = object.getClass().getDeclaredFields();
- for (Field field : fields) {
- if (!Modifier.isStatic(field.getModifiers())) {
- String name = field.getName();
- if (!name.startsWith("this")) {
- Object value = null;
- try {
- field.setAccessible(true);
- value = field.get(object);
- } catch (IllegalArgumentException e) {
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- }
-
- if (value != null) {
- properties.setProperty(name, value.toString());
- }
- }
- }
- }
-
- return properties;
- }
-
- public static void properties2Object(final Properties p, final Object object) {
- Method[] methods = object.getClass().getMethods();
- for (Method method : methods) {
- String mn = method.getName();
- if (mn.startsWith("set")) {
- try {
- String tmp = mn.substring(4);
- String first = mn.substring(3, 4);
-
- String key = first.toLowerCase() + tmp;
- String property = p.getProperty(key);
- if (property != null) {
- Class<?>[] pt = method.getParameterTypes();
- if (pt != null && pt.length > 0) {
- String cn = pt[0].getSimpleName();
- Object arg = null;
- if (cn.equals("int") || cn.equals("Integer")) {
- arg = Integer.parseInt(property);
- } else if (cn.equals("long") || cn.equals("Long")) {
- arg = Long.parseLong(property);
- } else if (cn.equals("double") || cn.equals("Double")) {
- arg = Double.parseDouble(property);
- } else if (cn.equals("boolean") || cn.equals("Boolean")) {
- arg = Boolean.parseBoolean(property);
- } else if (cn.equals("float") || cn.equals("Float")) {
- arg = Float.parseFloat(property);
- } else if (cn.equals("String")) {
- arg = property;
- } else {
- continue;
- }
- method.invoke(object, new Object[]{arg});
- }
- }
- } catch (Throwable e) {
- }
- }
- }
- }
-
-
- public static boolean isPropertiesEqual(final Properties p1, final Properties p2) {
- return p1.equals(p2);
- }
-
-
- public static List<String> getLocalInetAddress() {
- List<String> inetAddressList = new ArrayList<String>();
- try {
- Enumeration<NetworkInterface> enumeration = NetworkInterface.getNetworkInterfaces();
- while (enumeration.hasMoreElements()) {
- NetworkInterface networkInterface = enumeration.nextElement();
- Enumeration<InetAddress> addrs = networkInterface.getInetAddresses();
- while (addrs.hasMoreElements()) {
- inetAddressList.add(addrs.nextElement().getHostAddress());
- }
- }
- } catch (SocketException e) {
- throw new RuntimeException("get local inet address fail", e);
- }
-
- return inetAddressList;
- }
-
-
- public static boolean isLocalAddr(String address) {
- for (String addr : LOCAL_INET_ADDRESS) {
- if (address.contains(addr))
- return true;
- }
- return false;
- }
-
-
- private static String localhost() {
- try {
- InetAddress addr = InetAddress.getLocalHost();
- return addr.getHostAddress();
- } catch (Throwable e) {
- throw new RuntimeException("InetAddress java.net.InetAddress.getLocalHost() throws UnknownHostException"
- + FAQUrl.suggestTodo(FAQUrl.UNKNOWN_HOST_EXCEPTION),
- e);
- }
- }
-
-
- public static boolean compareAndIncreaseOnly(final AtomicLong target, final long value) {
- long prev = target.get();
- while (value > prev) {
- boolean updated = target.compareAndSet(prev, value);
- if (updated)
- return true;
-
- prev = target.get();
- }
-
- return false;
- }
-
- public static String localhostName() {
- try {
- return InetAddress.getLocalHost().getHostName();
- } catch (Throwable e) {
- throw new RuntimeException("InetAddress java.net.InetAddress.getLocalHost() throws UnknownHostException"
- + FAQUrl.suggestTodo(FAQUrl.UNKNOWN_HOST_EXCEPTION),
- e);
- }
- }
-
- public Set<String> list2Set(List<String> values) {
- Set<String> result = new HashSet<String>();
- for (String v : values) {
- result.add(v);
- }
- return result;
- }
-
- public List<String> set2List(Set<String> values) {
- List<String> result = new ArrayList<String>();
- for (String v : values) {
- result.add(v);
- }
- return result;
- }
-
- public static String humanReadableByteCount(long bytes, boolean si) {
- int unit = si ? 1000 : 1024;
- if (bytes < unit) return bytes + " B";
- int exp = (int) (Math.log(bytes) / Math.log(unit));
- String pre = (si ? "kMGTPE" : "KMGTPE").charAt(exp - 1) + (si ? "" : "i");
- return String.format("%.1f %sB", bytes / Math.pow(unit, exp), pre);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/Pair.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/Pair.java b/common/src/main/java/com/alibaba/rocketmq/common/Pair.java
deleted file mode 100644
index ada6144..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/Pair.java
+++ /dev/null
@@ -1,51 +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;
-
-/**
- * @author shijia.wxr
- */
-public class Pair<T1, T2> {
- private T1 object1;
- private T2 object2;
-
-
- public Pair(T1 object1, T2 object2) {
- this.object1 = object1;
- this.object2 = object2;
- }
-
-
- public T1 getObject1() {
- return object1;
- }
-
-
- public void setObject1(T1 object1) {
- this.object1 = object1;
- }
-
-
- public T2 getObject2() {
- return object2;
- }
-
-
- public void setObject2(T2 object2) {
- this.object2 = object2;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/ServiceState.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/ServiceState.java b/common/src/main/java/com/alibaba/rocketmq/common/ServiceState.java
deleted file mode 100644
index a580cf4..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/ServiceState.java
+++ /dev/null
@@ -1,39 +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;
-
-/**
- * @author shijia.wxr
- */
-public enum ServiceState {
- /**
- * Service just created,not start
- */
- CREATE_JUST,
- /**
- * Service Running
- */
- RUNNING,
- /**
- * Service shutdown
- */
- SHUTDOWN_ALREADY,
- /**
- * Service Start failure
- */
- START_FAILED;
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/ServiceThread.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/ServiceThread.java b/common/src/main/java/com/alibaba/rocketmq/common/ServiceThread.java
deleted file mode 100644
index d6da0e3..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/ServiceThread.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
- *
- * 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.common.constant.LoggerName;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicBoolean;
-
-/**
- * @author shijia.wxr
- * @author xinyuzhou.zxy
- */
-public abstract class ServiceThread implements Runnable {
- private static final Logger STLOG = LoggerFactory.getLogger(LoggerName.COMMON_LOGGER_NAME);
- private static final long JOIN_TIME = 90 * 1000;
-
- protected final Thread thread;
-
- protected volatile AtomicBoolean hasNotified = new AtomicBoolean(false);
-
- protected volatile boolean stopped = false;
-
- protected final CountDownLatch waitPoint = new CountDownLatch(1);
-
-
- public ServiceThread() {
- this.thread = new Thread(this, this.getServiceName());
- }
-
-
- public abstract String getServiceName();
-
-
- public void start() {
- this.thread.start();
- }
-
-
- public void shutdown() {
- this.shutdown(false);
- }
-
- public void shutdown(final boolean interrupt) {
- this.stopped = true;
- STLOG.info("shutdown thread " + this.getServiceName() + " interrupt " + interrupt);
-
- if (hasNotified.compareAndSet(false, true)) {
- waitPoint.countDown(); // notify
- }
-
- try {
- if (interrupt) {
- this.thread.interrupt();
- }
-
- long beginTime = System.currentTimeMillis();
- if (!this.thread.isDaemon()) {
- this.thread.join(this.getJointime());
- }
- long eclipseTime = System.currentTimeMillis() - beginTime;
- STLOG.info("join thread " + this.getServiceName() + " eclipse time(ms) " + eclipseTime + " "
- + this.getJointime());
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
-
- public long getJointime() {
- return JOIN_TIME;
- }
-
- public void stop() {
- this.stop(false);
- }
-
- public void stop(final boolean interrupt) {
- this.stopped = true;
- STLOG.info("stop thread " + this.getServiceName() + " interrupt " + interrupt);
-
- if (hasNotified.compareAndSet(false, true)) {
- waitPoint.countDown(); // notify
- }
-
- if (interrupt) {
- this.thread.interrupt();
- }
- }
-
- public void makeStop() {
- this.stopped = true;
- STLOG.info("makestop thread " + this.getServiceName());
- }
-
- public void wakeup() {
- if (hasNotified.compareAndSet(false, true)) {
- waitPoint.countDown(); // notify
- }
- }
-
- protected void waitForRunning(long interval) {
- if (hasNotified.compareAndSet(true, false)) {
- this.onWaitEnd();
- return;
- }
-
- //entry to wait
- waitPoint.reset();
-
- try {
- waitPoint.await(interval, TimeUnit.MILLISECONDS);
- } catch (InterruptedException e) {
- e.printStackTrace();
- } finally {
- hasNotified.set(false);
- this.onWaitEnd();
- }
- }
-
- protected void onWaitEnd() {
- }
-
- public boolean isStopped() {
- return stopped;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/SystemClock.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/SystemClock.java b/common/src/main/java/com/alibaba/rocketmq/common/SystemClock.java
deleted file mode 100644
index 36c0448..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/SystemClock.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;
-
-/**
- * @author vintage.wang
- */
-public class SystemClock {
- public long now() {
- return System.currentTimeMillis();
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/ThreadFactoryImpl.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/ThreadFactoryImpl.java b/common/src/main/java/com/alibaba/rocketmq/common/ThreadFactoryImpl.java
deleted file mode 100644
index b4d85cd..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/ThreadFactoryImpl.java
+++ /dev/null
@@ -1,39 +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 java.util.concurrent.ThreadFactory;
-import java.util.concurrent.atomic.AtomicLong;
-
-
-public class ThreadFactoryImpl implements ThreadFactory {
- private final AtomicLong threadIndex = new AtomicLong(0);
- private final String threadNamePrefix;
-
-
- public ThreadFactoryImpl(final String threadNamePrefix) {
- this.threadNamePrefix = threadNamePrefix;
- }
-
-
- @Override
- public Thread newThread(Runnable r) {
- return new Thread(r, threadNamePrefix + this.threadIndex.incrementAndGet());
-
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/TopicConfig.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/TopicConfig.java b/common/src/main/java/com/alibaba/rocketmq/common/TopicConfig.java
deleted file mode 100644
index 16019df..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/TopicConfig.java
+++ /dev/null
@@ -1,206 +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.common.constant.PermName;
-
-
-/**
- * @author shijia.wxr
- */
-public class TopicConfig {
- private static final String SEPARATOR = " ";
- public static int defaultReadQueueNums = 16;
- public static int defaultWriteQueueNums = 16;
- private String topicName;
- private int readQueueNums = defaultReadQueueNums;
- private int writeQueueNums = defaultWriteQueueNums;
- private int perm = PermName.PERM_READ | PermName.PERM_WRITE;
- private TopicFilterType topicFilterType = TopicFilterType.SINGLE_TAG;
- private int topicSysFlag = 0;
- private boolean order = false;
-
-
- public TopicConfig() {
- }
-
-
- public TopicConfig(String topicName) {
- this.topicName = topicName;
- }
-
-
- public TopicConfig(String topicName, int readQueueNums, int writeQueueNums, int perm) {
- this.topicName = topicName;
- this.readQueueNums = readQueueNums;
- this.writeQueueNums = writeQueueNums;
- this.perm = perm;
- }
-
-
- public String encode() {
- StringBuilder sb = new StringBuilder();
-
- // 1
- sb.append(this.topicName);
- sb.append(SEPARATOR);
-
- // 2
- sb.append(this.readQueueNums);
- sb.append(SEPARATOR);
-
- // 3
- sb.append(this.writeQueueNums);
- sb.append(SEPARATOR);
-
- // 4
- sb.append(this.perm);
- sb.append(SEPARATOR);
-
- // 5
- sb.append(this.topicFilterType);
-
- return sb.toString();
- }
-
-
- public boolean decode(final String in) {
- String[] strs = in.split(SEPARATOR);
- if (strs != null && strs.length == 5) {
- this.topicName = strs[0];
-
- this.readQueueNums = Integer.parseInt(strs[1]);
-
- this.writeQueueNums = Integer.parseInt(strs[2]);
-
- this.perm = Integer.parseInt(strs[3]);
-
- this.topicFilterType = TopicFilterType.valueOf(strs[4]);
-
- return true;
- }
-
- return false;
- }
-
-
- public String getTopicName() {
- return topicName;
- }
-
-
- public void setTopicName(String topicName) {
- this.topicName = topicName;
- }
-
-
- public int getReadQueueNums() {
- return readQueueNums;
- }
-
-
- public void setReadQueueNums(int readQueueNums) {
- this.readQueueNums = readQueueNums;
- }
-
-
- public int getWriteQueueNums() {
- return writeQueueNums;
- }
-
-
- public void setWriteQueueNums(int writeQueueNums) {
- this.writeQueueNums = writeQueueNums;
- }
-
-
- public int getPerm() {
- return perm;
- }
-
-
- public void setPerm(int perm) {
- this.perm = perm;
- }
-
-
- public TopicFilterType getTopicFilterType() {
- return topicFilterType;
- }
-
-
- public void setTopicFilterType(TopicFilterType topicFilterType) {
- this.topicFilterType = topicFilterType;
- }
-
-
- public int getTopicSysFlag() {
- return topicSysFlag;
- }
-
-
- public void setTopicSysFlag(int topicSysFlag) {
- this.topicSysFlag = topicSysFlag;
- }
-
-
- public boolean isOrder() {
- return order;
- }
-
-
- public void setOrder(boolean isOrder) {
- this.order = isOrder;
- }
-
- @Override
- public boolean equals(final Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
-
- final TopicConfig that = (TopicConfig) o;
-
- if (readQueueNums != that.readQueueNums) return false;
- if (writeQueueNums != that.writeQueueNums) return false;
- if (perm != that.perm) return false;
- if (topicSysFlag != that.topicSysFlag) return false;
- if (order != that.order) return false;
- if (topicName != null ? !topicName.equals(that.topicName) : that.topicName != null) return false;
- return topicFilterType == that.topicFilterType;
-
- }
-
- @Override
- public int hashCode() {
- int result = topicName != null ? topicName.hashCode() : 0;
- result = 31 * result + readQueueNums;
- result = 31 * result + writeQueueNums;
- result = 31 * result + perm;
- result = 31 * result + (topicFilterType != null ? topicFilterType.hashCode() : 0);
- result = 31 * result + topicSysFlag;
- result = 31 * result + (order ? 1 : 0);
- return result;
- }
-
- @Override
- public String toString() {
- return "TopicConfig [topicName=" + topicName + ", readQueueNums=" + readQueueNums
- + ", writeQueueNums=" + writeQueueNums + ", perm=" + PermName.perm2String(perm)
- + ", topicFilterType=" + topicFilterType + ", topicSysFlag=" + topicSysFlag + ", order="
- + order + "]";
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/de6f9416/common/src/main/java/com/alibaba/rocketmq/common/TopicFilterType.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/com/alibaba/rocketmq/common/TopicFilterType.java b/common/src/main/java/com/alibaba/rocketmq/common/TopicFilterType.java
deleted file mode 100644
index 7a20dc9..0000000
--- a/common/src/main/java/com/alibaba/rocketmq/common/TopicFilterType.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;
-
-/**
- * @author shijia.wxr
- */
-public enum TopicFilterType {
- SINGLE_TAG,
- MULTI_TAG
-}