2

我的应用程序使用 BlazeDS 在 Flex 和 Java 之间进行通信。我正在使用 Spring 在 Java 中进行 BlazeDS 集成。

我有一个名为 TransactionStatus 的枚举。在 flex 方面,相应的属性被设置为整数。我正在尝试使用自定义转换器来处理这种转换。这是我的转换器:

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());
}

这里发生了什么?

4

0 回答 0