AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX Blogs
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.05.2014, 22:11   #1  
Blog bot is offline
Blog bot
Участник
 
25,459 / 846 (79) +++++++
Регистрация: 28.10.2006
axforum blogs: SysEventHandler epic bug
Источник: http://axforum.info/forums/blog.php?b=8129
==============

В AX2009 и AX2012 есть, на мой взгляд эпический, баг с SysEventHandler-ом. Может это копипаста, может что-либо еще, но похоже, что начиная, как минимум, с 2009-й, эта функция не работала. Совсем. А проблема в лишнем восклицательном знаке в проверке переменной stopRequested в методе SysEventHandler.runHandler(). Из-за него обработка событий прекращалась на первом же цикле.

С AX2012 вообще непонятно - запуск SysEventHandler-а из Application.new() удалили, и нет признаков, что он запускается откуда-то еще. Как будто это жест отчаянья - раз не удается заставить работать - удалим, и дело с концом... У кого-нибудь есть соображения по этому поводу?


Источник: http://axforum.info/forums/blog.php?b=8129
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.
За это сообщение автора поблагодарили: gl00mie (3).
Старый 30.05.2014, 16:10   #2  
b_nosoff is offline
b_nosoff
Читатель
Аватар для b_nosoff
MCP
MCBMSS
 
197 / 143 (5) +++++
Регистрация: 01.12.2004
Адрес: Msk
Записей в блоге: 13
Lightbulb
Цитата:
Сообщение от Blog bot Посмотреть сообщение
Источник: http://axforum.info/forums/blog.php?b=8129
==============

В AX2009 и AX2012 есть, на мой взгляд эпический, баг с SysEventHandler-ом. Может это копипаста, может что-либо еще, но похоже, что начиная, как минимум, с 2009-й, эта функция не работала. Совсем. А проблема в лишнем восклицательном знаке в проверке переменной stopRequested в методе SysEventHandler.runHandler(). Из-за него обработка событий прекращалась на первом же цикле.

С AX2012 вообще непонятно - запуск SysEventHandler-а из Application.new() удалили, и нет признаков, что он запускается откуда-то еще. Как будто это жест отчаянья - раз не удается заставить работать - удалим, и дело с концом... У кого-нибудь есть соображения по этому поводу?


Источник: http://axforum.info/forums/blog.php?b=8129
На самом деле, не в этом восклицательном знаке проблема. Это я что-то с недосыпу на него грешил. Проблема в том, что Thread::getThisThread() теперь возвращает null, все остальное уже вторичные результаты. А тот восклицательный знак верно стоит
__________________
Axapta non erubescit
Старый 30.05.2014, 18:12   #3  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,867 / 3123 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Он и в 2009-й как-то глючно работает
Классы от RunBaseReport и класс Thread

Если из под себя запустить то работает.
А если при старте аоса ядром, то фиг там. Очень странно глючит и куча вещей которые должны работать - не работают.

Я им поиграл и забил
Ненадежный инструмент.
Старый 30.05.2014, 18:46   #4  
b_nosoff is offline
b_nosoff
Читатель
Аватар для b_nosoff
MCP
MCBMSS
 
197 / 143 (5) +++++
Регистрация: 01.12.2004
Адрес: Msk
Записей в блоге: 13
Цитата:
Сообщение от Logger Посмотреть сообщение
Он и в 2009-й как-то глючно работает
Классы от RunBaseReport и класс Thread
Интересный тред, не находил его раньше.

Цитата:
Сообщение от Logger Посмотреть сообщение
Ненадежный инструмент.
В принципе, можно его заставить работать в среде с несколькими AOS. Нужно, во-первых, добавить в SysEvent столбец с номером сервера, и включить его в отбор событий. Во-вторых, надо сделать try...catch при выполнении события, либо и событие выполнять в отдельном Thread. Ну и, конечно же, убрать Thread::getThisThread().
__________________
Axapta non erubescit
За это сообщение автора поблагодарили: Logger (3).
Старый 19.10.2017, 07:02   #5  
Perc is offline
Perc
Участник
 
193 / 44 (2) +++
Регистрация: 05.03.2005
Цитата:
Сообщение от b_nosoff Посмотреть сообщение
Интересный тред, не находил его раньше.


В принципе, можно его заставить работать в среде с несколькими AOS. Нужно, во-первых, добавить в SysEvent столбец с номером сервера, и включить его в отбор событий. Во-вторых, надо сделать try...catch при выполнении события, либо и событие выполнять в отдельном Thread. Ну и, конечно же, убрать Thread::getThisThread().
Ну вот появилось несколько АОСов и понадобилась функциональность SysEvents. После чтений и тестов выяснилось что функциональность SysEventHandlers полностью не рабочая похоже с третьей версии. ну в четверке точно.
В системной сессии которая стартует с запуском АОС thread не может создается в принципе. Поэтому никаких обработчиков не существует. Единственно что она успевает сделать это почистить SysEvent до попытки создания thread.

Вот соответственно вопрос. А существует ли инструмент в четверке который может заставить выполнить чтото на конкретном АОСе? Ну кроме запуска клиента подключенного к конкретному АОСу.
Теги
sysevent, syseventhandler, thread

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
crminthefield: Creating SSL Certificates for CRM Test Environment Blog bot Dynamics CRM: Blogs 0 10.12.2013 02:12
Microsoft Dynamics CRM Team Blog: Creating and Publishing a Web Portal to an Azure Cloud Service Blog bot Dynamics CRM: Blogs 0 17.04.2013 23:11
emeadaxsupport: Budget entries import in AX2012 Blog bot DAX Blogs 0 21.11.2012 00:12
DynamicsAxSCM: Visualizing Security in Microsoft Dynamics AX 2012 Blog bot DAX Blogs 0 29.08.2011 13:11
DynamicsAxSCM: Personalization of Role Centers in Dynamics AX 2009 Blog bot DAX Blogs 0 21.06.2010 16:05
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 19:52.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.