Add language identifier to support native image for cpp
diff --git a/ons-core/ons-api/src/main/java/org/apache/rocketmq/ons/api/Message.java b/ons-core/ons-api/src/main/java/org/apache/rocketmq/ons/api/Message.java
index 5d1f999..db56b15 100644
--- a/ons-core/ons-api/src/main/java/org/apache/rocketmq/ons/api/Message.java
+++ b/ons-core/ons-api/src/main/java/org/apache/rocketmq/ons/api/Message.java
@@ -51,7 +51,7 @@
}
- void putSystemProperties(final String key, final String value) {
+ public void putSystemProperties(final String key, final String value) {
if (null == this.systemProperties) {
this.systemProperties = new Properties();
}
@@ -102,7 +102,7 @@
}
- String getSystemProperties(final String key) {
+ public String getSystemProperties(final String key) {
if (null != this.systemProperties) {
return this.systemProperties.getProperty(key);
}
@@ -135,15 +135,21 @@
this.putSystemProperties(SystemPropKey.MSGID, msgid);
}
- Properties getSystemProperties() {
+ public Properties getSystemProperties() {
+ if (null == systemProperties) {
+ return new Properties();
+ }
return systemProperties;
}
- void setSystemProperties(Properties systemProperties) {
+ public void setSystemProperties(Properties systemProperties) {
this.systemProperties = systemProperties;
}
public Properties getUserProperties() {
+ if (null == userProperties) {
+ return new Properties();
+ }
return userProperties;
}
diff --git a/ons-core/ons-api/src/main/java/org/apache/rocketmq/ons/api/PropertyKeyConst.java b/ons-core/ons-api/src/main/java/org/apache/rocketmq/ons/api/PropertyKeyConst.java
index d98d49c..6862189 100644
--- a/ons-core/ons-api/src/main/java/org/apache/rocketmq/ons/api/PropertyKeyConst.java
+++ b/ons-core/ons-api/src/main/java/org/apache/rocketmq/ons/api/PropertyKeyConst.java
@@ -99,4 +99,6 @@
public static final String MAX_BATCH_MESSAGE_COUNT = "maxBatchMessageCount";
+ public static final String LANGUAGE_IDENTIFIER = "languageIdentifier";
+
}
diff --git a/ons-core/ons-client/src/main/java/org/apache/rocketmq/ons/api/impl/rocketmq/ONSConsumerAbstract.java b/ons-core/ons-client/src/main/java/org/apache/rocketmq/ons/api/impl/rocketmq/ONSConsumerAbstract.java
index d2bb38b..5844ebc 100644
--- a/ons-core/ons-client/src/main/java/org/apache/rocketmq/ons/api/impl/rocketmq/ONSConsumerAbstract.java
+++ b/ons-core/ons-client/src/main/java/org/apache/rocketmq/ons/api/impl/rocketmq/ONSConsumerAbstract.java
@@ -33,6 +33,7 @@
import org.apache.rocketmq.ons.api.impl.tracehook.OnsConsumeMessageHookImpl;
import org.apache.rocketmq.ons.api.impl.util.ClientLoggerUtil;
import org.apache.commons.lang3.StringUtils;
+import org.apache.rocketmq.remoting.protocol.LanguageCode;
public class ONSConsumerAbstract extends ONSClientAbstract {
final static InternalLogger LOGGER = ClientLoggerUtil.getClientLogger();
@@ -81,7 +82,11 @@
boolean isVipChannelEnabled = Boolean.parseBoolean(properties.getProperty(PropertyKeyConst.isVipChannelEnabled, "false"));
this.defaultMQPushConsumer.setVipChannelEnabled(isVipChannelEnabled);
-
+ if (properties.containsKey(PropertyKeyConst.LANGUAGE_IDENTIFIER)) {
+ int language = Integer.valueOf(properties.get(PropertyKeyConst.LANGUAGE_IDENTIFIER).toString());
+ byte languageByte = (byte) language;
+ this.defaultMQPushConsumer.setLanguage(LanguageCode.valueOf(languageByte));
+ }
String instanceName = properties.getProperty(PropertyKeyConst.InstanceName, this.buildIntanceName());
this.defaultMQPushConsumer.setInstanceName(instanceName);
this.defaultMQPushConsumer.setNamesrvAddr(this.getNameServerAddr());
diff --git a/ons-core/ons-client/src/main/java/org/apache/rocketmq/ons/api/impl/rocketmq/OrderProducerImpl.java b/ons-core/ons-client/src/main/java/org/apache/rocketmq/ons/api/impl/rocketmq/OrderProducerImpl.java
index 218a8c2..651c65b 100644
--- a/ons-core/ons-client/src/main/java/org/apache/rocketmq/ons/api/impl/rocketmq/OrderProducerImpl.java
+++ b/ons-core/ons-client/src/main/java/org/apache/rocketmq/ons/api/impl/rocketmq/OrderProducerImpl.java
@@ -36,6 +36,7 @@
import org.apache.rocketmq.ons.api.impl.util.ClientLoggerUtil;
import org.apache.rocketmq.ons.api.order.OrderProducer;
import org.apache.commons.lang3.StringUtils;
+import org.apache.rocketmq.remoting.protocol.LanguageCode;
public class OrderProducerImpl extends ONSClientAbstract implements OrderProducer {
private final static InternalLogger LOGGER = ClientLoggerUtil.getClientLogger();
@@ -62,7 +63,11 @@
// boolean addExtendUniqInfo = Boolean.parseBoolean(properties.getProperty(PropertyKeyConst.EXACTLYONCE_DELIVERY, "false"));
// this.defaultMQProducer.setAddExtendUniqInfo(addExtendUniqInfo);
-
+ if (properties.containsKey(PropertyKeyConst.LANGUAGE_IDENTIFIER)) {
+ int language = Integer.valueOf(properties.get(PropertyKeyConst.LANGUAGE_IDENTIFIER).toString());
+ byte languageByte = (byte) language;
+ this.defaultMQProducer.setLanguage(LanguageCode.valueOf(languageByte));
+ }
String instanceName = properties.getProperty(PropertyKeyConst.InstanceName, this.buildIntanceName());
this.defaultMQProducer.setInstanceName(instanceName);
this.defaultMQProducer.setNamesrvAddr(this.getNameServerAddr());
diff --git a/ons-core/ons-client/src/main/java/org/apache/rocketmq/ons/api/impl/rocketmq/ProducerImpl.java b/ons-core/ons-client/src/main/java/org/apache/rocketmq/ons/api/impl/rocketmq/ProducerImpl.java
index bd1dede..2658c7a 100644
--- a/ons-core/ons-client/src/main/java/org/apache/rocketmq/ons/api/impl/rocketmq/ProducerImpl.java
+++ b/ons-core/ons-client/src/main/java/org/apache/rocketmq/ons/api/impl/rocketmq/ProducerImpl.java
@@ -43,6 +43,7 @@
import org.apache.rocketmq.ons.api.impl.tracehook.OnsClientSendMessageHookImpl;
import org.apache.rocketmq.ons.api.impl.util.ClientLoggerUtil;
import org.apache.commons.lang3.StringUtils;
+import org.apache.rocketmq.remoting.protocol.LanguageCode;
public class ProducerImpl extends ONSClientAbstract implements Producer {
private final static InternalLogger LOGGER = ClientLoggerUtil.getClientLogger();
@@ -73,7 +74,11 @@
// if (properties.containsKey(PropertyKeyConst.EXACTLYONCE_DELIVERY)) {
// this.defaultMQProducer.setAddExtendUniqInfo(Boolean.valueOf(properties.get(PropertyKeyConst.EXACTLYONCE_DELIVERY).toString()));
// }
-
+ if (properties.containsKey(PropertyKeyConst.LANGUAGE_IDENTIFIER)) {
+ int language = Integer.valueOf(properties.get(PropertyKeyConst.LANGUAGE_IDENTIFIER).toString());
+ byte languageByte = (byte) language;
+ this.defaultMQProducer.setLanguage(LanguageCode.valueOf(languageByte));
+ }
String instanceName = properties.getProperty(PropertyKeyConst.InstanceName, this.buildIntanceName());
this.defaultMQProducer.setInstanceName(instanceName);
this.defaultMQProducer.setNamesrvAddr(this.getNameServerAddr());
diff --git a/ons-core/ons-client/src/main/java/org/apache/rocketmq/ons/api/impl/rocketmq/TransactionProducerImpl.java b/ons-core/ons-client/src/main/java/org/apache/rocketmq/ons/api/impl/rocketmq/TransactionProducerImpl.java
index bc03867..13ed7e4 100644
--- a/ons-core/ons-client/src/main/java/org/apache/rocketmq/ons/api/impl/rocketmq/TransactionProducerImpl.java
+++ b/ons-core/ons-client/src/main/java/org/apache/rocketmq/ons/api/impl/rocketmq/TransactionProducerImpl.java
@@ -37,6 +37,7 @@
import org.apache.rocketmq.ons.open.trace.core.common.OnsTraceConstants;
import org.apache.rocketmq.ons.open.trace.core.common.OnsTraceDispatcherType;
import org.apache.rocketmq.ons.open.trace.core.dispatch.impl.AsyncArrayDispatcher;
+import org.apache.rocketmq.remoting.protocol.LanguageCode;
public class TransactionProducerImpl extends ONSClientAbstract implements TransactionProducer {
private final static InternalLogger LOGGER = ClientLoggerUtil.getClientLogger();
@@ -55,7 +56,11 @@
boolean isVipChannelEnabled = Boolean.parseBoolean(properties.getProperty(PropertyKeyConst.isVipChannelEnabled, "false"));
transactionMQProducer.setVipChannelEnabled(isVipChannelEnabled);
-
+ if (properties.containsKey(PropertyKeyConst.LANGUAGE_IDENTIFIER)) {
+ int language = Integer.valueOf(properties.get(PropertyKeyConst.LANGUAGE_IDENTIFIER).toString());
+ byte languageByte = (byte) language;
+ this.transactionMQProducer.setLanguage(LanguageCode.valueOf(languageByte));
+ }
String instanceName = properties.getProperty(PropertyKeyConst.InstanceName, this.buildIntanceName());
this.transactionMQProducer.setInstanceName(instanceName);