我尝试将应用程序安装到服务器上,当服务器尝试启动应用程序时,我看到日志中出现错误。堆栈跟踪中最相关的部分似乎是
[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上)
答案 0 :(得分:5)
我不确定jdbc / DefaultEJBTimerDataSource用于什么
顾名思义,它是存储计时器数据的默认数据源。如果计时器是持久的,则必须存储其设置以使服务器重新启动。您可以通过Application Servers > server1 > Container services > EJB timer service settings.
点击此处了解详情 - EJB timer service settings
我甚至无法在本地WebSphere管理控制台的“数据源”页面上看到它。
默认情况下,它是隐藏的。确保将范围设置为All scopes
,然后展开Preferences
并检查Show built-in resources.
你应该在那里看到DefaultEJBTimerDataSource。如果您没有在那里看到它,那么您的配置将被破坏。由于无法通过控制台进行选择,因此您无法意外删除它。
我建议创建新的配置文件来修复它,或者在IBM支持中打开PMR。