You are viewing the documentation for the 2.2.0 release in the 2.2.x series of releases. The latest stable release series is 3.0.x.
§Writing Plugins
Play comes with a few plugins predefined for all applications, these plugins are the following:
DBPlugin
-> providing a JDBC datasourceEvolutionPlugin
-> provides migration (only available if db was configured)EbeanPlugin
-> provides Ebean support_ (only available if db was configured)_MessagesPlugin
- > provides i18n supportBasicCachePlugin
-> provides in-memory cachingGlobalPlugin
-> executes application’s settings
However, one can easily add a new plugin to an application by following these steps:
- implement
play.Plugin
(see this for an example) - this plugin should be available in the application either through pulling in it from a maven repository and referencing it
as an app dependency or the plugin code can be part of a play application - you can access it like
import static play.api.Play.*;
import static play.libs.Scala.*;
public Myplugin plugin() {
return orNull(unsafeApplication().plugin(MyPlugin.class)).api();
}
which will return an instance or subclass of MyPlugin
fully initialized or null
.
- in your app create a file:
conf/play.plugins
and add a reference to your plugin:5000:com.example.MyPlugin
The number represents the plugin loading order, by setting it to > 10000 we can make sure it’s loaded after the global plugins.