Search code examples
webspherewebsphere-8

DefaultEJBTimerDataSource is missing in WebSphere


I've tried installing an application onto a server and when the server tries to start the application, I am seeing an error in the log. The most relevant part of the stack trace appear to be

[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]

I'm not sure what's causing this. My local server on my workstation does not produce this error. I'm not sure what jdbc/DefaultEJBTimerDataSource is used for: I certainly don't reference it in my application or in its' configuration, and I didn't create this datasource. I can't even see it on the Data Sources page in my local WebSphere admin console.

Does anyone know what this datasource is used for and how it can be re-created? I have a feeling that it was supposed to be created when the profile on the server was created but someone it wasn't. I didn't create the profile where I'm seeing the errors, so I don't know exactly how it was done, but I could use a hand in resolving this issue.

(This is happening on WebSphere 8.5)


Solution

  • I'm not sure what jdbc/DefaultEJBTimerDataSource is used for

    As name says, it is a default datasource to store timers data. If timer is persistent, its settings must be stored to survive server restarts. You can check default container configuration via Application Servers > server1 > Container services > EJB timer service settings.

    See more details here - EJB timer service settings

    I can't even see it on the Data Sources page in my local WebSphere admin console.

    By default it is hidden. Make sure you have Scope set to All scopes, and then expand Preferences and check Show built-in resources.

    You should see DefaultEJBTimerDataSource there. If you dont see it there, then your configuration is broken. Since it is not possible to select it via console, you rather couldn't delete it by accident.

    I'd suggest to create new profile to fixed that, or open PMR in IBM support.