September 2010
Intermediate to advanced
766 pages
18h 35m
English
Some services require some initialization or cleanup to be used properly. For example, a file transfer module may want to open a connection to a remote server before processing requests to transfer files and should safely release all resources before being brought out of service.
For component types that have a lifecycle, EJB allows for callback notifications, which act as a hook for the bean provider to receive these events. In the case of our file transfer bean, this may look like:
prototype FileTransferService
{
@StartLifecycleCallback
function openConnection(){ ... }
@StopLifecycleCallback
function closeConnection() { ... }
}Here we’ve annotated functions to open and close connections as callbacks; they’ll be invoked by the container as their corresponding lifecycle states are reached.