You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by vi...@apache.org on 2016/12/25 09:47:00 UTC
incubator-rocketmq git commit: Develop a vendor-neutral open standard
for distributed messaging: refactor package structure access
Repository: incubator-rocketmq
Updated Branches:
refs/heads/spec 57e775a83 -> 92454311e
Develop a vendor-neutral open standard for distributed messaging: refactor package structure access
Project: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/commit/92454311
Tree: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/tree/92454311
Diff: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/diff/92454311
Branch: refs/heads/spec
Commit: 92454311e3cafa3f7aaeeadeb7d4db599a11ceac
Parents: 57e775a
Author: vintagewang <vi...@apache.org>
Authored: Sun Dec 25 17:46:49 2016 +0800
Committer: vintagewang <vi...@apache.org>
Committed: Sun Dec 25 17:46:49 2016 +0800
----------------------------------------------------------------------
.../apache/openmessaging/MessagingEndPoint.java | 9 +++
.../openmessaging/MessagingEndPointManager.java | 2 +-
.../apache/openmessaging/MessagingFactory.java | 25 -------
.../java/org/apache/openmessaging/Producer.java | 2 -
.../internal/MessagingEndPointAdapter.java | 69 ++++++++++++++++++++
.../internal/MessagingEndPointFactory.java | 9 ++-
.../internal/ServiceConstants.java | 6 +-
.../internal/ServiceEndPointAdapter.java | 66 -------------------
.../openmessaging/internal/URISpecParser.java | 3 +-
9 files changed, 92 insertions(+), 99 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/92454311/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/MessagingEndPoint.java
----------------------------------------------------------------------
diff --git a/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/MessagingEndPoint.java b/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/MessagingEndPoint.java
index 5d90ae2..1299857 100644
--- a/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/MessagingEndPoint.java
+++ b/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/MessagingEndPoint.java
@@ -22,4 +22,13 @@ package org.apache.openmessaging;
* @since 2016-12-25
*/
public interface MessagingEndPoint {
+ void start();
+
+ void shutdown();
+
+ Producer createProducer();
+
+ PushConsumer createPushConsumer();
+
+ PullConsumer createPullConsumer();
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/92454311/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/MessagingEndPointManager.java
----------------------------------------------------------------------
diff --git a/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/MessagingEndPointManager.java b/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/MessagingEndPointManager.java
index 3dfffb0..8909b71 100644
--- a/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/MessagingEndPointManager.java
+++ b/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/MessagingEndPointManager.java
@@ -38,6 +38,6 @@ public class MessagingEndPointManager {
if (null == driverUrl || driverUrl.size() == 0) {
throw new IllegalArgumentException("driver url parsed result.size ==0");
}
- return MessagingEndPointFactory.createServiceEndPoint(driverUrl, properties);
+ return MessagingEndPointFactory.createMessagingEndPoint(driverUrl, properties);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/92454311/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/MessagingFactory.java
----------------------------------------------------------------------
diff --git a/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/MessagingFactory.java b/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/MessagingFactory.java
deleted file mode 100644
index 3720a01..0000000
--- a/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/MessagingFactory.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 org.apache.openmessaging;
-
-/**
- * @author vintagewang@apache.org
- * @since 2016-12-25
- */
-public class MessagingFactory {
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/92454311/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/Producer.java
----------------------------------------------------------------------
diff --git a/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/Producer.java b/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/Producer.java
index 4eb34a8..63c2abd 100644
--- a/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/Producer.java
+++ b/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/Producer.java
@@ -26,6 +26,4 @@ public interface Producer {
void shutdown();
void send(final Message message);
-
-
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/92454311/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/internal/MessagingEndPointAdapter.java
----------------------------------------------------------------------
diff --git a/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/internal/MessagingEndPointAdapter.java b/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/internal/MessagingEndPointAdapter.java
new file mode 100644
index 0000000..8220f5c
--- /dev/null
+++ b/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/internal/MessagingEndPointAdapter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.openmessaging.internal;
+
+
+import org.apache.openmessaging.MessagingEndPoint;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+
+/**
+ * @author vintagewang@apache.org
+ * @since 2016-12-25
+ */
+class MessagingEndPointAdapter {
+ private static Map<String, String> serviceEndPointClassMap = new HashMap<String, String>();
+
+ static {
+ serviceEndPointClassMap.put(ServiceConstants.DEFAULT_SERVICE_END_POINT,
+ ServiceConstants.DEFAULT_SERVICE_IMPL);
+ }
+
+ static MessagingEndPoint instantiateMessagingEndPoint(String url, Properties properties)
+ throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException,
+ InvocationTargetException, InstantiationException {
+ String serviceImpl = ServiceConstants.DEFAULT_SERVICE_IMPL;
+ if (serviceEndPointClassMap.containsKey(url))
+ serviceImpl = serviceEndPointClassMap.get(url);
+ Class<?> serviceEndPointClass = Class.forName(serviceImpl);
+ if (serviceEndPointClass == null)
+ return null;
+
+ String serviceUrl = ServiceConstants.DEFAULT_SERVICE_DISCOVERY_URL;
+ if (properties.get(ServiceConstants.URL) != null) {
+ String[] propertySplits = ((String) properties.get(ServiceConstants.URL)).split(ServiceConstants.PARAM_SEPARATOR);
+ if (propertySplits.length > 0) {
+ serviceUrl = propertySplits[0];
+ for (int index = 1; index < propertySplits.length; index++) {
+ String[] kv = propertySplits[index].split(ServiceConstants.KV_SEPARATOR);
+ properties.put(kv[0], kv[1]);
+ }
+ }
+ }
+ properties.remove(ServiceConstants.URL);
+ properties.put(ServiceConstants.DISCOVERY_URL, serviceUrl);
+ Class[] paramTypes = {Properties.class};
+ Constructor constructor = serviceEndPointClass.getConstructor(paramTypes);
+ assert constructor != null;
+ return (MessagingEndPoint) constructor.newInstance(properties);
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/92454311/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/internal/MessagingEndPointFactory.java
----------------------------------------------------------------------
diff --git a/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/internal/MessagingEndPointFactory.java b/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/internal/MessagingEndPointFactory.java
index 5c4990a..f2f8eda 100644
--- a/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/internal/MessagingEndPointFactory.java
+++ b/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/internal/MessagingEndPointFactory.java
@@ -24,15 +24,18 @@ import java.util.List;
import java.util.Map;
import java.util.Properties;
-
+/**
+ * @author vintagewang@apache.org
+ * @since 2016-12-25
+ */
public class MessagingEndPointFactory {
- public static MessagingEndPoint createServiceEndPoint(Map<String, List<String>> url, Properties properties)
+ public static MessagingEndPoint createMessagingEndPoint(Map<String, List<String>> url, Properties properties)
throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException,
InstantiationException, IllegalAccessException {
List<String> driver = url.get(ServiceConstants.SPI_NAME);
List<String> urls = url.get(ServiceConstants.URL_NAME);
if (urls != null && urls.size() > 0)
properties.put(ServiceConstants.URL, urls.get(0));
- return ServiceEndPointAdapter.instantiateServiceEndPoint(driver.get(0), properties);
+ return MessagingEndPointAdapter.instantiateMessagingEndPoint(driver.get(0), properties);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/92454311/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/internal/ServiceConstants.java
----------------------------------------------------------------------
diff --git a/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/internal/ServiceConstants.java b/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/internal/ServiceConstants.java
index 42e867a..13cd376 100644
--- a/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/internal/ServiceConstants.java
+++ b/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/internal/ServiceConstants.java
@@ -17,7 +17,11 @@
package org.apache.openmessaging.internal;
-public class ServiceConstants {
+/**
+ * @author vintagewang@apache.org
+ * @since 2016-12-25
+ */
+class ServiceConstants {
public static final String PROTOCOL_NAME = "protocol";
public static final String SPI_NAME = "spi";
public static final String URL_NAME = "urls";
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/92454311/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/internal/ServiceEndPointAdapter.java
----------------------------------------------------------------------
diff --git a/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/internal/ServiceEndPointAdapter.java b/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/internal/ServiceEndPointAdapter.java
deleted file mode 100644
index 19b5733..0000000
--- a/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/internal/ServiceEndPointAdapter.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.openmessaging.internal;
-
-
-import org.apache.openmessaging.MessagingEndPoint;
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
-
-public class ServiceEndPointAdapter {
- private static Map<String, String> serviceEndPointClassMap = new HashMap<String, String>();
-
- static {
- serviceEndPointClassMap.put(ServiceConstants.DEFAULT_SERVICE_END_POINT,
- ServiceConstants.DEFAULT_SERVICE_IMPL);
- }
-
- static MessagingEndPoint instantiateServiceEndPoint(String url, Properties properties)
- throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException,
- InvocationTargetException, InstantiationException {
- String serviceImpl = ServiceConstants.DEFAULT_SERVICE_IMPL;
- if (serviceEndPointClassMap.containsKey(url))
- serviceImpl = serviceEndPointClassMap.get(url);
- Class<?> serviceEndPointClass = Class.forName(serviceImpl);
- if (serviceEndPointClass == null)
- return null;
-
- String serviceUrl = ServiceConstants.DEFAULT_SERVICE_DISCOVERY_URL;
- if (properties.get(ServiceConstants.URL) != null) {
- String[] propertySplits = ((String) properties.get(ServiceConstants.URL)).split(ServiceConstants.PARAM_SEPARATOR);
- if (propertySplits.length > 0) {
- serviceUrl = propertySplits[0];
- for (int index = 1; index < propertySplits.length; index++) {
- String[] kv = propertySplits[index].split(ServiceConstants.KV_SEPARATOR);
- properties.put(kv[0], kv[1]);
- }
- }
- }
- properties.remove(ServiceConstants.URL);
- properties.put(ServiceConstants.DISCOVERY_URL, serviceUrl);
- Class[] paramTypes = {Properties.class};
- Constructor constructor = serviceEndPointClass.getConstructor(paramTypes);
- assert constructor != null;
- return (MessagingEndPoint) constructor.newInstance(properties);
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/92454311/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/internal/URISpecParser.java
----------------------------------------------------------------------
diff --git a/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/internal/URISpecParser.java b/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/internal/URISpecParser.java
index cbe07ba..1d7a8e1 100644
--- a/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/internal/URISpecParser.java
+++ b/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/internal/URISpecParser.java
@@ -24,7 +24,8 @@ import java.util.List;
import java.util.Map;
/**
- * @author xuanyin
+ * @author vintagewang@apache.org
+ * @since 2016-12-25
*/
public class URISpecParser {
public static Map<String, List<String>> parseURI(String uri) {
Re: incubator-rocketmq git commit: Develop a vendor-neutral open
standard for distributed messaging: refactor package structure access
Posted by Roman Shtykh <rs...@yahoo.com.INVALID>.
+1 for removing the @author from the code. I think it is pretty common not to have it and use version control for tracking changes, as Willem proposed.
And this is one more item to go into "Contribution Guideline" ;)
-Roman
On Monday, December 26, 2016 12:12 AM, Willem Jiang <wi...@gmail.com> wrote:
Can we just remove the @author from the code ?
It always some merge conflicts about the @author, and it's easy to find out
whom we need to blame by using git blame.
Willem Jiang
Blog: http://willemjiang.blogspot.com (English)
http://jnn.iteye.com (Chinese)
Twitter: willemjiang
Weibo: 姜宁willem
On Sun, Dec 25, 2016 at 5:47 PM, <vi...@apache.org> wrote:
> Repository: incubator-rocketmq
> Updated Branches:
> refs/heads/spec 57e775a83 -> 92454311e
>
>
> Develop a vendor-neutral open standard for distributed messaging: refactor
> package structure access
>
>
> Project: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/repo
> Commit: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/
> commit/92454311
> Tree: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/
> tree/92454311
> Diff: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/
> diff/92454311
>
> http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/
> blob/92454311/spec/code/messaging-user-level-api/java/
> src/main/java/org/apache/openmessaging/internal/URISpecParser.java
> ----------------------------------------------------------------------
> diff --git a/spec/code/messaging-user-level-api/java/src/main/java/
> org/apache/openmessaging/internal/URISpecParser.java
> b/spec/code/messaging-user-level-api/java/src/main/java/
> org/apache/openmessaging/internal/URISpecParser.java
> index cbe07ba..1d7a8e1 100644
> --- a/spec/code/messaging-user-level-api/java/src/main/java/
> org/apache/openmessaging/internal/URISpecParser.java
> +++ b/spec/code/messaging-user-level-api/java/src/main/java/
> org/apache/openmessaging/internal/URISpecParser.java
> @@ -24,7 +24,8 @@ import java.util.List;
> import java.util.Map;
>
> /**
> - * @author xuanyin
> + * @author vintagewang@apache.org
> + * @since 2016-12-25
> */
> public class URISpecParser {
> public static Map<String, List<String>> parseURI(String uri) {
>
>
Re: incubator-rocketmq git commit: Develop a vendor-neutral open
standard for distributed messaging: refactor package structure access
Posted by Willem Jiang <wi...@gmail.com>.
Can we just remove the @author from the code ?
It always some merge conflicts about the @author, and it's easy to find out
whom we need to blame by using git blame.
Willem Jiang
Blog: http://willemjiang.blogspot.com (English)
http://jnn.iteye.com (Chinese)
Twitter: willemjiang
Weibo: 姜宁willem
On Sun, Dec 25, 2016 at 5:47 PM, <vi...@apache.org> wrote:
> Repository: incubator-rocketmq
> Updated Branches:
> refs/heads/spec 57e775a83 -> 92454311e
>
>
> Develop a vendor-neutral open standard for distributed messaging: refactor
> package structure access
>
>
> Project: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/repo
> Commit: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/
> commit/92454311
> Tree: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/
> tree/92454311
> Diff: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/
> diff/92454311
>
> http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/
> blob/92454311/spec/code/messaging-user-level-api/java/
> src/main/java/org/apache/openmessaging/internal/URISpecParser.java
> ----------------------------------------------------------------------
> diff --git a/spec/code/messaging-user-level-api/java/src/main/java/
> org/apache/openmessaging/internal/URISpecParser.java
> b/spec/code/messaging-user-level-api/java/src/main/java/
> org/apache/openmessaging/internal/URISpecParser.java
> index cbe07ba..1d7a8e1 100644
> --- a/spec/code/messaging-user-level-api/java/src/main/java/
> org/apache/openmessaging/internal/URISpecParser.java
> +++ b/spec/code/messaging-user-level-api/java/src/main/java/
> org/apache/openmessaging/internal/URISpecParser.java
> @@ -24,7 +24,8 @@ import java.util.List;
> import java.util.Map;
>
> /**
> - * @author xuanyin
> + * @author vintagewang@apache.org
> + * @since 2016-12-25
> */
> public class URISpecParser {
> public static Map<String, List<String>> parseURI(String uri) {
>
>