IBM Worklight 6.1 — как работать с сервером Worklight в автономном режиме или без ответа в клиентском приложении

Мы настраиваем наше приложение для подключения к серверу WL при запуске, но у нас возникают трудности с обработкой различных сценариев, когда сервер WL недоступен (например, в автономном режиме).

connectOnStartup : false

Обратный вызов onConnectionFailure() не вызывается, и приложение остается замороженным в процессе инициализации.

Когда мы используем ручное подключение, используя WL.Client.connect(options), обработчик onFailure также не запускается.

Почему дескрипторы сбоев не вызываются и как лучше всего обеспечить работоспособность приложения, когда сервер WL недоступен, только с ограничениями автономного режима и пользовательскими потоками?


person DannySSS    schedule 14.08.2014    source источник
comment
Их здесь называют прекрасно. Предоставьте достаточно кода и шагов воспроизведения, чтобы увидеть это.   -  person Idan Adar    schedule 14.08.2014
comment
Кроме того, имейте в виду, что onFailure не будет вызываться до тех пор, пока не истечет время ожидания (будь то значение по умолчанию или указанное вами), поэтому может показаться, что оно не вызывается, если вы недостаточно дождались тайм-аут, чтобы закончиться.   -  person Daniel A. González    schedule 14.08.2014


Ответы (1)


Почему дескрипторы отказа не вызываются

Обе функции обратного вызова onConnectionFailure и WL.Client.connect onSuccess и onFailure здесь прекрасно работают, поэтому вам действительно нужно предоставить больше информации, если вы ожидаете получить какую-либо помощь в отношении этой «проблемы».

как лучше всего обеспечить, чтобы приложение по-прежнему работало, когда сервер WL недоступен, только с ограничениями автономного режима и пользовательскими потоками

Здесь нет «лучшего» ответа. Это зависит от ваших ожиданий от вашего приложения в зависимости от характера приложения. Для каждого приложения это может быть другой ответ. Вы опять не предоставили никакой информации...

  • Предполагая, что вам удалось выяснить, почему onFailure не вызывается (возможно, вам следует проверить наличие ошибок JavaScript в вашем коде), тогда, возможно, вы могли бы отключить любые кнопки в приложении, которые обычно активны, потому что они выполняют какое-то действие, требующее подключения к серверу.

    Поскольку вы правильно не подключены, вы не хотите, чтобы пользователь получал ошибки - поэтому отключите кнопки.

  • Вы также, возможно, захотите предоставить некоторую дополнительную визуальную обратную связь, например, пользовательское сообщение, цветной DIV, плавающий в пользовательском интерфейсе приложения, или просто заблокировать все приложение — кто знает. Зависит от контекста приложения (!).

  • "Пользовательские потоки"? Создайте их.

person Idan Adar    schedule 10.09.2014