У меня есть приложение FW/1 на Railo 4.2.2/Apache, и по какой-то причине оно вызывает onApplicationStart
при каждом запросе. Я могу сказать, что это не какой-либо код повторной инициализации - поместите дамп callStackGet()
в setupApplication
и увидите, что корневой вызов выполняется onApplicationStart (а не через какой-либо хук инициализации). Есть ли какие-либо известные ошибки в Railo, которые могли бы вызвать это? Я дважды проверил тайм-аут приложения (1 день) и настройку FW/1 - он отключен, поэтому не должно быть причин, по которым приложение теряло бы область приложения при каждом запросе.
Я тоже наблюдаю еще одну странную вещь, но не знаю, связана ли она. В приложении установки я создаю новый пользовательский объект (через ORM) и сохраняю его, если локальный администратор не существует. Сбрасываю и вижу ID, но его нет в БД при запросе к таблице (да, я его сбросил). Попадание на следующую страницу снова создает пользователя (поскольку он еще не существует...).
Изменить: добавить сохраняемый объектный код для Адама.
function setupApplication() {
// bean factory should look in the model tree for services and beans
var bf = new framework.ioc( "/com/sharp/model" );
setBeanFactory( bf );
ormReload();
if( getEnvironment() == 'dev' ){
writeLog('Checking for dev user');
if( !arrayLen( ormExecuteQuery('from User where username = ?', ['admin']) ) ){
var user = new com.sharp.model.user.User({username: 'admin', password: hash('p@ssw3rd'), isAdmin: true});
entitySave( user );
ormFlush();
writeDump(user);
writeDump(callStackGet());
writeLog('User admin created')
}
else{
var user = bf.getBean('userService').getByUsername('admin');
writeLog('Dev admin user already exists. Done.')
}
var auth = bf.getBean('userService').authenticate( 'admin', 'p@ssw3rd' );
}
}
bf.getBean('userService').getByUsername('admin')
? Я не вижу никаких красных флажков в вашем коде; но тогда я не добавляю ORM в onApplicationStart. Вы пытались перенести это в файл представления, чтобы изолировать код от события? Попробуйте определить, какая комбинация вызывает это: Railo+Application.cfc+ORM? Рейло+ФВ/1+ОРМ? Railo+Application.cfc+FW/1+ORM? Также может быть полезно поделиться вашей конфигурациейthis.ormSettings
. - person Adam Tuttle   schedule 07.12.2014onApplicationStart
. Не может быть так много - person James A Mohler   schedule 07.12.2014transaction{}
? - person CfSimplicity   schedule 10.12.2014