Part I Development Tasks and Tools
1. Setting Up a Development Environment
3. Using Ant with Enterprise Server
Part II Developing Applications and Application Components
7. Using the Java Persistence API
8. Developing Web Applications
9. Using Enterprise JavaBeans Technology
Bean-Level Container-Managed Transaction Timeouts
Priority Based Scheduling of Remote Bean Invocations
About the Session Bean Containers
Session Bean Restrictions and Optimizations
Optimizing Session Bean Performance
Read-Only Bean Characteristics and Life Cycle
Invoking a Transactional Method
Message-Driven Bean Configuration
Connection Factory and Destination
Message-Driven Bean Restrictions and Optimizations
The onMessage Runtime Exception
Handling Transactions With Enterprise Beans
10. Using Container-Managed Persistence
13. Developing Lifecycle Listeners
Part III Using Services and APIs
14. Using the JDBC API for Database Access
15. Using the Transaction Service
16. Using the Java Naming and Directory Interface
The EJB Timer Service uses a database to store persistent information about EJB timers.
The EJB Timer Service in Enterprise Server is preconfigured to use an embedded version of the Java DB database.
The timer service is automatically enabled when you deploy an application or module that uses it.
You can verify that the timer service is running by accessing the following URL:
http://localhost:8080/ejb-timer-service-app/timer
The EJB Timer Service configuration can store persistent timer information in any database
supported by the Enterprise Server for persistence. For a list of the JDBC
drivers currently supported by the Enterprise Server, see the Sun GlassFish Enterprise Server v3 Release Notes. For configurations of supported
and other drivers, see
Configuration Specifics for JDBC Drivers in Sun GlassFish Enterprise Server v3 Administration Guide.
To change the database used by the EJB Timer Service, set the EJB Timer Service’s Timer DataSource setting to a valid JDBC resource. If the EJB Timer Service has already been started, you must also create the timer database table. DDL files are located in as-install/lib/install/databases.
Using the EJB Timer Service is equivalent to interacting with a single JDBC resource manager. If an EJB component or application accesses a database either directly through JDBC or indirectly (for example, through an entity bean’s persistence mechanism), and also interacts with the EJB Timer Service, its data source must be configured with an XA JDBC driver.
You can change the following EJB Timer Service settings. You must restart the server for the changes to take effect.
Minimum Delivery Interval - Specifies the minimum time in milliseconds before an expiration for a particular timer can occur. This guards against extremely small timer increments that can overload the server. The default is 1000.
Maximum Redeliveries - Specifies the maximum number of times the EJB timer service attempts to redeliver a timer expiration due for exception or rollback. The default is 1.
Redelivery Interval - Specifies how long in milliseconds the EJB timer service waits after a failed ejbTimeout delivery before attempting a redelivery. The default is 5000.
Timer DataSource - Specifies the database used by the EJB Timer Service. The default is jdbc/__TimerPool.
For information about the asadmin list-timers command, see the Sun GlassFish Enterprise Server v3 Reference Manual.