У меня есть несколько сложный объект в моем веб-приложении, потребуется некоторое время, чтобы все его атрибуты стали сериализуемыми, чтобы я мог вставить его в memcache.
Есть ли смысл просто хранить его как статическую переменную в моем веб-приложении? Я не уверен, как статические переменные работают в движке приложения. Я думал о чем-то вроде этого:
public class MyServlet {
private static SpaceShuttle mShuttle;
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException
{
// If the static instance isn't already around in this
// application instance, build it.
if (mShuttle == null) {
// Create it once.
mShuttle = complexProcessOfCreatingASpaceShuttle();
}
// Use it.
mShuttle.liftOff();
...
}
}
Я думаю, что memcache будет здесь полезен, поскольку разные экземпляры приложения могут совместно использовать один и тот же объект (я думаю?), Но в качестве временного исправления, по крайней мере, экземпляры приложения могут совместно использовать статический экземпляр на протяжении всей жизни.
SpaceShuttle является неизменяемым / только для чтения, поэтому нет опасности синхронизации (я думаю?).
Множество неизвестных здесь, не знаю, как внутренне работает движок приложения. Должен ли я просто попытаться сделать сериализуемым весь SpaceShuttle?
Спасибо