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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.08.2009, 22:03   #5  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1296 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Если есть несколько AOS, то обновления нужно проводить централизовано и вдумчиво. Лучший способ, это остановка всех AOS, обновление слоя, удаление и перестройка индексов приложения. Если проект на стадии промышленной эксплуатации (то есть изменения не "пожарные, применяемые при запуске, а плановые и продуманные), то это, на мой взгляд, единственно правильный подход не зависимо от того, один AOS или несколько (заливать на рабочее приложение попроектно может и просто, но за 5 лет работы с Ax часто убеждался, что так делать не следует).
Тем не менее, при запуске часто приходится быстро править некоторые части кода, поэтому нужно быстрый накат изменений и распростаранение этих изменений на всех пользователей без перезапуска AOSов. (если не изменялась структура таблиц).
Для того, чтобы изменения вступили в силу для всех, нужно выполнить некоторые операции, собранные в меню "Сервис \ Средства разработки \ Объекты приложения".
Естественно, что данное меню доступно далеко не для всех пользователей. Поэтому мы (уже далеко не на первом проекте) собрали все эти действия в одном месте и дали всем пользователям права на соответствующий пункт меню.
Естественно, что в промышленной эксплуатации так делать нежелательно, но при запуске вполне допустимо.
Примерно так выглядит код для DAX4 (привожу не полностью класс, а рабочий код, собранный в джоб):
X++:
static void flushCache(Args _args)
{
    ;

    #AOT

    xSession::removeAOC();

//    SysTreeNode::refreshAll();

    TreeNode::findNode(#TablesPath).AOTrefresh();
    TreeNode::findNode(#TableMapsPath).AOTrefresh();
    TreeNode::findNode(#ViewsPath).AOTrefresh();
    TreeNode::findNode(#ExtendedDataTypesPath).AOTrefresh();
    TreeNode::findNode(#BaseEnumsPath).AOTrefresh();
    TreeNode::findNode(#LicenseCodesPath).AOTrefresh();
    TreeNode::findNode(#ConfigurationKeysPath).AOTrefresh();
    TreeNode::findNode(#SecurityKeysPath).AOTrefresh();
    TreeNode::findNode(#TableCollectionsPath).AOTrefresh();
    TreeNode::findNode(#MacrosPath).AOTrefresh();
    TreeNode::findNode(#ClassesPath).AOTrefresh();
    TreeNode::findNode(#QueriesPath).AOTrefresh();
    TreeNode::findNode(#JobsPath).AOTrefresh();
    TreeNode::findNode(#MenusPath).AOTrefresh();
    TreeNode::findNode(#MenuItemsDisplayPath).AOTrefresh();
    TreeNode::findNode(#MenuItemsOutputPath).AOTrefresh();
    TreeNode::findNode(#MenuItemsActionPath).AOTrefresh();
    TreeNode::findNode(#ResourcesPath).AOTrefresh();

    SysFlushDictionary::main(_args);
    SysFlushAOD::main(_args);
    SysFlushData::main(_args);

    xSession::updateAOC();

    xSession::removeAOC();

    SysTreeNode::refreshAll();

    SysFlushDictionary::main(_args);
    SysFlushAOD::main(_args);
    SysFlushData::main(_args);

    xSession::updateAOC();


}

Последний раз редактировалось Raven Melancholic; 29.08.2009 в 22:07.
За это сообщение автора поблагодарили: kpoxa (1).
Теги
aos, cluster, кластер

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Запуск Axapta 3.0 Object Server Manager в качестве консольного приложения gl00mie DAX: Администрирование 2 15.11.2007 11:12
Объединение АОСов в кластер Николай DAX: Администрирование 2 17.01.2007 09:32
перенос приложения kitty DAX: Администрирование 8 04.07.2006 13:08
Разные запросы в 2-х и 3-х уровневой конфигурациях. Что делать?! Anais DAX: Программирование 12 04.11.2004 12:47
Разные дебеты в одном заказе? UNRW DAX: Функционал 15 28.10.2004 14:36

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 00:22.