mirror of
https://github.com/wahyd4/pinpoint.git
synced 2026-08-20 18:25:55 +10:00
[강운덕] [LUCYSUS-1744] 멀티플렉싱을 지원하기 위해 직접 header를 wirte하도록 수정.
git-svn-id: http://svn.bds.nhncorp.com/pe/hippo-tomcat-profiler/trunk@494 84d0f5b1-2673-498c-a247-62c4ff18d310
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
package com.profiler.util;
|
||||
|
||||
import com.profiler.dto.Header;
|
||||
import com.profiler.dto.JVMInfoThriftDTO;
|
||||
import org.apache.thrift.TBase;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
public class HeaderTBaseSerializerTest {
|
||||
private final Logger logger = Logger.getLogger(HeaderTBaseSerializerTest.class.getName());
|
||||
|
||||
|
||||
@Test
|
||||
public void testSerialize() throws Exception {
|
||||
HeaderTBaseSerializer serializer = new HeaderTBaseSerializer();
|
||||
Header header = new Header();
|
||||
// 10 을 JVMInfoThriftDTO type이라고 가정하자.
|
||||
header.setType((short) 10);
|
||||
byte[] serialize = serializer.serialize(header, new JVMInfoThriftDTO());
|
||||
dump(serialize);
|
||||
|
||||
HeaderTBaseDeserializer deserializer = new HeaderTBaseDeserializer();
|
||||
TBaseSelector tBaseSelector = new TBaseSelector() {
|
||||
@Override
|
||||
public TBase getSelect(Header header) {
|
||||
if(header.getType() == 10) {
|
||||
return new JVMInfoThriftDTO();
|
||||
}
|
||||
throw new IllegalArgumentException("type not found:" + header.getType());
|
||||
}
|
||||
};
|
||||
TBase deserialize = deserializer.deserialize(tBaseSelector, serialize);
|
||||
logger.info("deserialize:" + deserialize.getClass());
|
||||
}
|
||||
|
||||
public void dump(byte[] data) {
|
||||
String s = Arrays.toString(data);
|
||||
logger.info(data.getClass().getName()+ ":" + s);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user