play plugin插件 兑现类似Servlet中的拦截器效果

play plugin插件 实现类似Servlet中的拦截器效果
play plugin和module的区别见:play Modules & 使用成熟的Java模块、框架、Spring & 模块和插件的区别

创建插件的步骤:
1,创建一个从play.PlayPlugin继承的类,然后覆盖其中的一些方法。
2,在conf目录下的play.plugins文件中注册这个插件,格式如:1003:myPackage.MyPlugin. 这里的数字是插件被调用的顺序。建议设置的值都大于1000,当然如果想要在play framework插件被调用之前调用自己的插件,也可以设置小于1000的值,具体设置成多少参考下面的play内置插件的调用顺序。[内置插件注册在play安装目录\framework\src\play.plugins]
0:play.CorePlugin
100:play.data.parsing.TempFilePlugin
200:play.data.validation.ValidationPlugin
300:play.db.DBPlugin
400:play.db.jpa.JPAPlugin
450:play.db.Evolutions
500:play.i18n.MessagesPlugin
600:play.libs.WS
700:play.jobs.JobsPlugin
100000:play.plugins.ConfigurablePluginDisablingPlugin


参考play.PlayPlugin Javadoc,你可以轻松地实现在需要的时候对请求进行拦截,如下述的时机:
  • 请求、响应生命周期
  • binding绑定过程
  • 应用程序的启动和关闭
  • classload加载的时候

http://*.com/questions/4699250/how-to-extend-the-playframework