Я хочу хранить объекты в jruby в течение короткого времени.Объекты используют процы, поэтому у меня, похоже, проблемы с сохранением в db.Если у кого-то есть хорошие идеи о том, как сохранить объекты jruby в течение 1-5 минут, это было бы замечательно.
Эти объекты довольно велики, в частности, объекты обозревателя скорости.
ПокаЯ создал модель в jruby следующим образом:
class Persist
@@persistHash ||= Hash.new
def self.storeItem(id, item)
@@persistHash[id.to_s] = item
end
def self.getItem(id)
return @@persistHash[id.to_s]
end
end
Я испортил приложение и развернул его на glassfish v2.
Я запускаю программу, и она некоторое время работает нормально.Но через день, если я позвоню 'get' сразу после 'store' (10-20 секунд), я вернусь ноль.
Я не могу найти никаких ошибок в журналах.
EDITЯ также обнаружил, что элемент действительно вставлен в хеш-таблицу (хеш-таблица не исчерпала память во время вставки):
До 24 часов:
Persist.storeItem (), а затемPersist.getItem () работает нормально.
HTTP-вызов магазина.Затем другой http-вызов get возвращает объект.
Через 24 часа:
Persist.storeItem (), за которым следует Persist.getItem (), работает нормально.
HTTP-вызовдля магазина.Затем другой http-вызов get возвращает nil.