Java, BlazeDS, Flex - Ошибка № 10566: Не удается создать свойство smallMessage на AcknowledgeMessage? - PullRequest
1 голос
/ 28 октября 2011

У меня есть работающее приложение Flex / Java, но если я выхожу из channelSet и снова захожу, в консоли отладки я вижу многочисленные случаи этой ошибки:

ReferenceError: Error #1056: Cannot create property smallMessage on mx.messaging.messages.AcknowledgeMessage.

Сама ошибкапохоже, не мешает работе приложения.

Класс AcknowledgeMessage не является моим классом - и я не знаю, почему стороны Java и Flex не совпадают в отношении свойств своих внутренних классов.

Любая помощь приветствуется.

Версии:

  • Flex 4.1.0.16076
  • BlazeDS 4.0.0.14931
  • Spring-Flex 1.5.0.RELEASE

Ответы [ 2 ]

2 голосов
/ 02 ноября 2011

У нас точно такая же проблема в нашем приложении.Мне удалось скрыть ошибку, используя следующий уродливый хак.

Сначала создайте класс, подобный следующему:

public class FixedAcknowledgeMessage extends AcknowledgeMessage {
    private var _smallMessage : *;

    public function FixedAcknowledgeMessage() { }

    public function get smallMessage() : * {
        return _smallMessage;
    }

    public function set smallMessage(value : *) : void {
        _smallMessage = value;
    }   
}

А затем в коде запуска замените AcknowledgeMessage на ваш фиксированныйone:

registerClassAlias("flex.messaging.messages.AcknowledgeMessage", FixedAcknowledgeMessage);

Мы также делаем тот же хак для классов ErrorMessage и AsyncMessage, которые, похоже, страдают от той же проблемы.Я понятия не имею, может ли этот хак иметь некоторые негативные побочные эффекты, и я бы хотел найти более подходящее решение для него.

1 голос
/ 13 июня 2012

не используйте то же имя в качестве первичного ключа, что вы использовали в имени таблицы ... Используйте другое имя ..... например ......

объект VO ...

public class ColumnNameVO
{    
    public var ifId:int;
    public var formatId:int;
    public var position:int;
    public var name:String;  
    public function ColumnNameVO() { }
}

Таблица pojo класс:

public class ColumnNameVO
{
    public var Id:int;
    public var formatId:int;
    public var position:int;
    public var name:String;  

}
...