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/28 07:57:43 UTC
[5/5] incubator-rocketmq git commit: [ROCKETMQ-17] Develop a
vendor-neutral open standard for distributed messaging: refactor message
class and add new class KeyValue ASF JIRA:
https://issues.apache.org/jira/browse/ROCKETMQ-17
[ROCKETMQ-17] Develop a vendor-neutral open standard for distributed messaging: refactor message class and add new class KeyValue
ASF JIRA: https://issues.apache.org/jira/browse/ROCKETMQ-17
Project: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/commit/58acef9e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/tree/58acef9e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/diff/58acef9e
Branch: refs/heads/spec
Commit: 58acef9ef9bf6be62918d7293af7bc8c962c6bfb
Parents: 9f232be
Author: vintagewang <vi...@apache.org>
Authored: Wed Dec 28 15:57:21 2016 +0800
Committer: vintagewang <vi...@apache.org>
Committed: Wed Dec 28 15:57:21 2016 +0800
----------------------------------------------------------------------
.../org/apache/openmessaging/BytesMessage.java | 12 ++++++++
.../java/org/apache/openmessaging/KeyValue.java | 32 ++++++++++++++++++++
.../java/org/apache/openmessaging/Message.java | 8 ++---
.../openmessaging/MessagingEndPointManager.java | 4 +++
.../java/org/apache/openmessaging/Producer.java | 2 +-
.../openmessaging/samples/ProducerApp.java | 8 +++--
6 files changed, 56 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/58acef9e/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/BytesMessage.java
----------------------------------------------------------------------
diff --git a/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/BytesMessage.java b/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/BytesMessage.java
index 47e18d4..629cca2 100644
--- a/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/BytesMessage.java
+++ b/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/BytesMessage.java
@@ -18,6 +18,18 @@ package org.apache.openmessaging;
public interface BytesMessage extends Message {
+ BytesMessage putHeader(final String key, final int value);
+
+ BytesMessage putHeader(final String key, final long value);
+
+ BytesMessage putHeader(final String key, final String value);
+
+ BytesMessage putProperties(final String key, final int value);
+
+ BytesMessage putProperties(final String key, final long value);
+
+ BytesMessage putProperties(final String key, final String value);
+
byte[] getBody();
void setBody(final byte[] body);
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/58acef9e/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/KeyValue.java
----------------------------------------------------------------------
diff --git a/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/KeyValue.java b/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/KeyValue.java
new file mode 100644
index 0000000..c3f44f5
--- /dev/null
+++ b/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/KeyValue.java
@@ -0,0 +1,32 @@
+/**
+ * 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;
+
+
+public interface KeyValue {
+ KeyValue put(final String key, final int value);
+
+ KeyValue put(final String key, final long value);
+
+ KeyValue put(final String key, final String value);
+
+ int getInt(final String key);
+
+ long getLong(final String key);
+
+ String getString(final String key);
+}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/58acef9e/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/Message.java
----------------------------------------------------------------------
diff --git a/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/Message.java b/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/Message.java
index 9e8c6be..5563c46 100644
--- a/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/Message.java
+++ b/spec/code/messaging-user-level-api/java/src/main/java/org/apache/openmessaging/Message.java
@@ -18,11 +18,7 @@ package org.apache.openmessaging;
public interface Message {
- Message putHeader(final String name, final String value);
+ KeyValue headers();
- Message putProperty(final String name, final String value);
-
- String getHeader(final String name);
-
- String getProperty(final String name);
+ KeyValue properties();
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/58acef9e/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 39c202d..8196658 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
@@ -36,4 +36,8 @@ public class MessagingEndPointManager {
}
return MessagingEndPointFactory.createMessagingEndPoint(driverUrl, properties);
}
+
+ public static KeyValue buildKeyValue() {
+ return null;
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/58acef9e/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 c7a3020..05eb15c 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
@@ -22,5 +22,5 @@ public interface Producer extends MessageFactory {
void shutdown();
- void send(final Message message);
+ void send(final BytesMessage message);
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/58acef9e/spec/code/messaging-user-level-samples/java/src/main/java/org/apache/openmessaging/samples/ProducerApp.java
----------------------------------------------------------------------
diff --git a/spec/code/messaging-user-level-samples/java/src/main/java/org/apache/openmessaging/samples/ProducerApp.java b/spec/code/messaging-user-level-samples/java/src/main/java/org/apache/openmessaging/samples/ProducerApp.java
index f820f3f..051fc22 100644
--- a/spec/code/messaging-user-level-samples/java/src/main/java/org/apache/openmessaging/samples/ProducerApp.java
+++ b/spec/code/messaging-user-level-samples/java/src/main/java/org/apache/openmessaging/samples/ProducerApp.java
@@ -30,8 +30,10 @@ public class ProducerApp {
final Producer producer = messagingEndPoint.createProducer();
messagingEndPoint.start();
+ System.out.println("messagingEndPoint startup OK");
producer.start();
+ System.out.println("producer startup OK");
Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
@Override
@@ -45,9 +47,9 @@ public class ProducerApp {
System.out.println("send first message OK");
producer.send(producer.createBytesMessage("HELLO_TOPIC", "HELLO_BODY".getBytes(Charset.forName("UTF-8")))
- .putProperty("KEY1", "value1")//
- .putProperty("KEY2", "value2")//
- .putProperty("KEY3", "value3")//
+ .putProperties("KEY1", "value1")//
+ .putProperties("KEY2", "value2")//
+ .putProperties("KEY3", "value3")//
);
System.out.println("send second message OK");
}