Постоянное свойство означает, что контейнер необходим для сохранения состояния таймера в базе данных. Это важно, если вам нужно гарантировать, что таймер сработает, даже если сервер отключен (преднамеренно или аварийно). Когда сервер возвращается в оперативный режим, требуется выполнить пропущенные таймеры. Установка таймера как постоянного также имеет побочный эффект, заключающийся в том, что таймер работает только на одной серверной JVM (но не обязательно на той, которая его создала), что бы это ни значило для вашего продукта. Например, в среде кластерного сервера это обычно означает, что, даже если модуль EJB работает на 3 JVM, только одна JVM будет выполнять таймер.
persistent = true был единственным вариантом, доступным до EJB 3.1. Некоторые операции таймера недостаточно критичны, чтобы гарантировать такой уровень надежности, поэтому была добавлена опция, позволяющая использовать непостоянные таймеры. Установка таймера как непостоянного также имеет побочный эффект - он работает в той JVM, в которой он был создан. Это может быть полезно для обновления кэша в памяти или статического HTML.