DefaultEJBTimerDataSource отсутствует в WebSphere

Я пытался установить приложение на сервер, и когда сервер пытается запустить приложение, я вижу ошибку в журнале. Наиболее важная часть трассировки стека выглядит так:

[9/11/14 16:29:14:780 EDT] 0000004f SharedEJBRunt E WSVR0040E: addEjbModule failed for MyEJB-1.0.0.jar com.ibm.websphere.csi.EJBContainerException: EJB Timer Service not started ... Caused by: com.ibm.ws.scheduler.exception.SchedulerDataStoreException: com.ibm.ws.extensionhelper.exception.UnableToInitializeException: javax.naming.NameNotFoundException: Context: Server1MyAppCell/nodes/Server1MyAppNode/servers/server1, name: jdbc/DefaultEJBTimerDataSource: First component in name DefaultEJBTimerDataSource not found. [Root exception is org.omg.CosNaming.NamingContextPackage.NotFound: IDL:omg.org/CosNaming/NamingContext/NotFound:1.0]

Я не уверен, что вызывает это. Мой локальный сервер на моей рабочей станции не выдает эту ошибку. Я не уверен, для чего используется jdbc/DefaultEJBTimerDataSource: я, конечно, не ссылаюсь на него в своем приложении или в его конфигурации, и я не создавал этот источник данных. Я даже не вижу его на странице источников данных в моей локальной консоли администратора WebSphere.

Кто-нибудь знает, для чего используется этот источник данных и как его можно воссоздать? У меня ощущение, что он должен был быть создан при создании профиля на сервере, но у кого-то его не было. Я не создавал профиль, где я вижу ошибки, поэтому я точно не знаю, как это было сделано, но я мог бы помочь в решении этой проблемы.

(Это происходит в WebSphere 8.5)


person FrustratedWithFormsDesigner    schedule 15.09.2014    source источник


Ответы (1)


Я не уверен, для чего используется jdbc/DefaultEJBTimerDataSource.

Как следует из названия, это источник данных по умолчанию для хранения данных таймеров. Если таймер является постоянным, его настройки должны быть сохранены, чтобы выдержать перезапуски сервера. Вы можете проверить конфигурацию контейнера по умолчанию через Application Servers > server1 > Container services > EJB timer service settings.

Подробнее см. здесь — Настройки службы таймера EJB

Я даже не вижу его на странице источников данных в моей локальной консоли администратора WebSphere.

По умолчанию он скрыт. Убедитесь, что для области видимости установлено значение All scopes, а затем разверните Preferences и установите флажок Show built-in resources..

Вы должны увидеть там DefaultEJBTimerDataSource. Если вы его там не видите, значит, ваша конфигурация нарушена. Поскольку его невозможно выбрать через консоль, вы не можете удалить его случайно.

Я бы предложил создать новый профиль, чтобы исправить это, или открыть PMR в службе поддержки IBM.

person Gas    schedule 15.09.2014
comment
Ах, спасибо, я не знал, как отображать встроенные ресурсы. Я посмотрю, смогу ли я заставить человека, создавшего профиль, либо воссоздать его, либо, возможно, создать новый источник данных, используя значения, которые я нашел в своем локальном профиле, теперь, когда я могу видеть детали этого источника данных. - person FrustratedWithFormsDesigner; 16.09.2014