Fix ‘tags.get’ cause ClassCastException, because after akka-message/serialize, all tags values are type of String.class.
This commit is contained in:
parent
d6760d35eb
commit
b00cadb9e6
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue