提交 b00cadb9 编写于 作者: wu-sheng's avatar wu-sheng

Fix ‘tags.get’ cause ClassCastException, because after akka-message/serialize,...

Fix ‘tags.get’ cause ClassCastException, because after akka-message/serialize, all tags values are type of String.class.
上级 d6760d35
......@@ -17,7 +17,20 @@ public class BooleanTag extends AbstractTag<Boolean>{
span.setTag(key, tagValue);
}
@Override public Boolean get(Span span) {
return (Boolean)span.getTag(super.key);
/**
* Get a tag value, type of {@link Boolean}.
* After akka-message/serialize, all tags values are type of {@link String}, convert to {@link Boolean}, if necessary.
*
* @param span
* @return tag value
*/
@Override
public Boolean get(Span span) {
Object tagValue = span.getTag(super.key);
if(tagValue instanceof Boolean){
return (Boolean)tagValue;
}else {
return Boolean.valueOf(tagValue.toString());
}
}
}
......@@ -17,7 +17,20 @@ public class IntTag extends AbstractTag<Integer> {
span.setTag(super.key, tagValue);
}
@Override public Integer get(Span span) {
return (Integer)span.getTag(super.key);
/**
* Get a tag value, type of {@link Integer}.
* After akka-message/serialize, all tags values are type of {@link String}, convert to {@link Integer}, if necessary.
*
* @param span
* @return tag value
*/
@Override
public Integer get(Span span) {
Object tagValue = span.getTag(super.key);
if(tagValue instanceof Integer){
return (Integer)tagValue;
}else {
return Integer.valueOf(tagValue.toString());
}
}
}
......@@ -17,7 +17,19 @@ public class ShortTag extends AbstractTag<Short> {
span.setTag(super.key, tagValue);
}
/**
* Get a tag value, type of {@link Short}.
* After akka-message/serialize, all tags values are type of {@link String}, convert to {@link Short}, if necessary.
*
* @param span
* @return tag value
*/
@Override public Short get(Span span) {
return (Short)span.getTag(super.key);
Object tagValue = span.getTag(super.key);
if(tagValue instanceof Short){
return (Short)tagValue;
}else {
return Short.valueOf(tagValue.toString());
}
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册