mirror of
https://github.com/apache/rocketmq.git
synced 2026-09-24 16:04:00 +08:00
@@ -17,9 +17,11 @@
|
||||
package org.apache.rocketmq.client.trace;
|
||||
|
||||
import org.apache.rocketmq.client.producer.LocalTransactionState;
|
||||
import org.apache.rocketmq.common.message.MessageConst;
|
||||
import org.apache.rocketmq.common.message.MessageType;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -218,7 +220,8 @@ public class TraceDataEncoder {
|
||||
|
||||
transferBean.getTransKey().add(bean.getMsgId());
|
||||
if (bean.getKeys() != null && bean.getKeys().length() > 0) {
|
||||
transferBean.getTransKey().add(bean.getKeys());
|
||||
String[] keys = bean.getKeys().split(MessageConst.KEY_SEPARATOR);
|
||||
transferBean.getTransKey().addAll(Arrays.asList(keys));
|
||||
}
|
||||
}
|
||||
return transferBean;
|
||||
|
||||
@@ -25,6 +25,9 @@ import org.junit.Test;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
public class TraceDataEncoderTest {
|
||||
|
||||
@@ -129,7 +132,7 @@ public class TraceDataEncoderTest {
|
||||
Assert.assertEquals(before.getTransactionState(), after.getTransactionState());
|
||||
Assert.assertEquals(before.isFromTransactionCheck(), after.isFromTransactionCheck());
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testPubTraceDataFormatTest() {
|
||||
TraceContext pubContext = new TraceContext();
|
||||
@@ -234,4 +237,32 @@ public class TraceDataEncoderTest {
|
||||
Assert.assertEquals(13, items.length);
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTraceKeys() {
|
||||
TraceContext endTrxContext = new TraceContext();
|
||||
endTrxContext.setTraceType(TraceType.EndTransaction);
|
||||
endTrxContext.setGroupName("PID-test");
|
||||
endTrxContext.setRegionId("DefaultRegion");
|
||||
endTrxContext.setTimeStamp(time);
|
||||
TraceBean endTrxTraceBean = new TraceBean();
|
||||
endTrxTraceBean.setTopic("topic-test");
|
||||
endTrxTraceBean.setKeys("Keys Keys2");
|
||||
endTrxTraceBean.setTags("Tags");
|
||||
endTrxTraceBean.setMsgId("AC1415116D1418B4AAC217FE1B4E0000");
|
||||
endTrxTraceBean.setStoreHost("127.0.0.1:10911");
|
||||
endTrxTraceBean.setMsgType(MessageType.Trans_msg_Commit);
|
||||
endTrxTraceBean.setTransactionId("transactionId");
|
||||
endTrxTraceBean.setTransactionState(LocalTransactionState.COMMIT_MESSAGE);
|
||||
endTrxTraceBean.setFromTransactionCheck(false);
|
||||
List<TraceBean> traceBeans = new ArrayList<TraceBean>();
|
||||
traceBeans.add(endTrxTraceBean);
|
||||
endTrxContext.setTraceBeans(traceBeans);
|
||||
|
||||
TraceTransferBean traceTransferBean = TraceDataEncoder.encoderFromContextBean(endTrxContext);
|
||||
|
||||
Set<String> keys = traceTransferBean.getTransKey();
|
||||
assertThat(keys).contains("Keys");
|
||||
assertThat(keys).contains("Keys2");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user