Возникновение события ResultEvent при удалении объекта Spring. - PullRequest
0 голосов
/ 08 августа 2011

В моей попытке научиться гибкому удаленному взаимодействию я наткнулся на это

flexService.getRules.addEventListener(ResultEvent.RESULT, loadRules);

здесь flexService - это удаленный объект Java. В приведенном выше вызове функции любой может помочь мне, когда произойдет ResultEvent.RESULT. При изучении ResultEvent в документе AS он выглядит как

Событие, которое указывает, что операция RPC успешно вернула результат

Поэтому, учитывая, что я предполагаю, что ResultEvent будет запущен, когда метод flexService.getRules будет успешно возвращать список объектов, где flexService - это объект удаленного класса FlexService, имеющий функцию getRules, которая возвращает список объектов, может кто-нибудь сказать как именно это работает .. Также может кто-нибудь PLZ сказать мне, как EventListener может быть добавлен в список объектов

PS: я использую Spring в качестве бэкэнда

Ответы [ 2 ]

0 голосов
/ 09 августа 2011

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

  • Я предполагаю, что 'flexService' - это RemoteObject, который установил все необходимые свойства (назначение, конечная точка и т. Д.)
  • Я предполагаю, что getRules - это доступная функция в вашем удаленном Java-классе, которая возвращает необходимую информацию.
  • Я предполагаю, что все отправляется с использованием AMF.

в этом случае это так же просто, как сделать это:

var token:ASyncToken = flexService.getRules(arg1, arg2);
token.addResponder(new Responder(yourResultFunction, yourFaultFunction));

private function yourResultFunction(data:Object):void
{
   // Do something with data here
}

private function yourFaultFunction(fault:Object):void
{
   // do something if a fault happens
}

Конечно, это очень просто, и вы должны попытаться реализовать лучший шаблон (команды) вокруг него.

0 голосов
/ 08 августа 2011

Здесь вы устанавливаете результат в arraycollection

private function loadRules(event:ResultEvent):void
{
    var list:ArrayCollection = new ArrayCollection();
    list = event.result as ArrayCollection;
}
...