我的应用程序使用BlazeDS在Flex和Java之间进行通信。我在Java中使用Spring进行BlazeDS集成。
我有一个名为TransactionStatus的枚举。在flex侧,相应的属性设置为整数。我正在尝试使用custom converters来处理此转换。这是我的转换器:
public class TransactionStatusIntConverter implements Converter<TransactionStatus, Integer> {
@Override
public Integer convert(TransactionStatus src) {
if(src == null){
return 0;
} else {
return src.getValue();
}
}
}
和
public class IntTransactionStatusConverter implements Converter<Integer, TransactionStatus> {
@Override
public TransactionStatus convert(Integer src) {
return TransactionStatus.fromInt(src);
}
}
从Flex客户端向Java发送数据时,转换成功,我按预期获得了TransactionStatus实例。但是,当从Java向Flex发送数据时,永远不会执行转换功能。这两个转换器肯定都在我的ConfigProcessor类中注册了
@Override
protected void configureConverters(ConverterRegistry registry) {
registry.addConverter(new IntTransactionStatusConverter());
registry.addConverter(new TransactionStatusIntConverter());
}
这里发生了什么?