с последней версией объективировать (5.1), я получаю следующее сообщение об ошибке при попытке доступа к методу точки у()объективизации 5,1 Контекст Не начато Ошибка из-за отсутствия ObjectifyFilter
Вы не начали контекст объективировать. Вероятно, вам не хватает ObjectifyFilter. Если вы не работаете в контексте HTTP-запроса, обратитесь к методу ObjectifyService.run().
я бегу его из веб-приложения Appengine, тот же код и конфигурация работала отлично в старых версиях
следующие моя конфигурация, аналогично примеру, представленной в объективизации документации
web.xml
<filter>
<filter-name>ObjectifyFilter</filter-name>
<filter-class>com.googlecode.objectify.ObjectifyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>ObjectifyFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
OfyService класс
public class OfyService {
static {
long start = System.currentTimeMillis();
factory().register(User.class);
log.info(" Entity Registration took : {} ms", (System.currentTimeMillis() - start));
}
public static Objectify ofy() {
return ObjectifyService.ofy();
}
public static ObjectifyFactory factory() {
return (ObjectifyFactory) ObjectifyService.factory();
}
}
, но я определил ObjectifyFilter, любая идея, почему я получаю эту ошибку? и как я могу это исправить?
Спасибо!
UPDATE:
Я обновил объективизации версию v5.1.5, но до сих пор этот вопрос не решен любые обновления по этому вопросу?
Проверьте, если вы звоните точки у() на запуск, например по какой-то причине - вне сферы действия запроса - тогда вы не прошли через ObjectifyFilter. – koma
Нет, он не называется нигде, я строго вызываю из (через класс OfyService, также FYI, тот же код работает отлично в версии до 5.1. –
Убедитесь, что 1) вы не вызываете ofy() до того, как фильтр установлен; скажем, от другого фильтра выше в цепочке и 2), что у вас нет нескольких версий объективации в вашем пути к классам (mvn clean). Вы должны иметь возможность посмотреть на стек и посмотреть, какой код пытается использовать объектизацию вне фильтра; если фильтр был установлен, вы увидите его в стеке. Отправьте его. – stickfigure