§Global Settings
Note: The
GlobalSettings
class is deprecated in 2.5.x. Please see the Removing `GlobalSettings` page for how to migrate away from GlobalSettings.
§The Global object
Defining a Global
class in your project allows you to handle global settings for your application:
import play.*;
public class Global extends GlobalSettings {
}
By default, this object is defined in the root package, but you can define it wherever you want and then configure it in your application.conf
using application.global
property.
§Intercepting application start-up and shutdown
You can override the onStart
and onStop
operation to be notified of the corresponding application lifecycle events:
import play.*;
public class Global extends GlobalSettings {
public void onStart(Application app) {
Logger.info("Application has started");
}
public void onStop(Application app) {
Logger.info("Application shutdown...");
}
}
§Overriding onRequest
One important aspect of the GlobalSettings
class is that it provides a way to intercept requests and execute business logic before a request is dispatched to an action.
For example:
public class Global extends GlobalSettings {
public Action onRequest(Http.Request request, Method actionMethod) {
System.out.println("before each request..." + request.toString());
return super.onRequest(request, actionMethod);
}
}
It’s also possible to intercept a specific action method. This can be achieved via Action composition.
Next: Testing your application
Found an error in this documentation? The source code for this page can be found here. After reading the documentation guidelines, please feel free to contribute a pull request. Have questions or advice to share? Go to our community forums to start a conversation with the community.