Отсутствие классов при длительном запуске приложения

У меня есть забавная проблема - если мое приложение работает долго (& gt; 20h), то иногда я получаю ошибку NoClassDefFound - похоже, JVM решила, что класс все равно не будет использоваться, и GCd.

Чтобы быть более конкретным, вот пример случая:

object ErrorHandler extends PartialFunction[Throwable,Unit] {
  def isDefinedAt(t: Throwable) = true
  def apply(e: Throwable) =e match {
    // ... handle errors
  }
}

// somewhere else in the code...
try {
  // ... long running code, can take more than 20 hours to complete
} catch (ErrorHandler)

И я получаю следующее исключение:

Exception in thread "main" java.lang.NoClassDefFoundError: org/rogach/avalanche/ErrorHandler$

Если этот блок try / catch выполняется в течение меньшего количества времени, все работает, как ожидалось.

Если кому-то интересно, вот эта кодовая база:лавина

Я должен отметить, что я видел эту и подобные проблемы только наCent OS 5 машины с использованием JRE 6u26 и Scala 2.9.1 / 2.9.2.

Что может быть причиной этой проблемы?

Ответы на вопрос(1)

Ваш ответ на вопрос