Невозможно преобразовать Enum в int с помощью Spring Converter

Мое приложение использует BlazeDS для связи между Flex и Java. Я использую Spring для интеграции BlazeDS в Java.

У меня есть перечисление под названием TransactionStatus. На гибкой стороне соответствующие свойства задаются как целые числа. Я пытаюсь использовать пользовательские конвертеры для обработки этого преобразования. Вот мои конвертеры:

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

Что тут происходит?

0 ответов

Другие вопросы по тегам