PlayPlugin插件类实现(插件能够在项目启动的时候自动的加载)

play框架本身基于此类提供了一些已经实现的plugin,比如:ConfigurablePluginDisablingPlugin,CorePlugin, DBPlugin, Evolutions, JobsPlugin, JPAPlugin, MessagesPlugin, TempFilePlugin,ValidationPlugin, WS


这其中有我们非常熟悉的JobsPlugin,实现一些定时JOB,onApplicationStart()和onApplicationStop()在服务启动停止时实现一些我们自己的业务。


onApplicationStart、onApplicationStop都是PlayPlugin的方法,自定义的插件类只需要实现对应的方法就可以实现插件的功能。


打开play-1.2.7.jar包,在根目录下,我们可以看到文件play.plugins,这里面列出了所有play已经实现的插件,该文件中列出的插件类在play启动时加载。打开看看内容:

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.plugins文件(名称必须为play.plugins),存放在app目录下。


第一步定义一个类并且继承PlayPlugin,并且实现onApplicationStart、onApplicationStop方法:

package mongo;


import play.PlayPlugin;
import utils.GGConfigurer;
import utils.GGLogger;


public class GGMongoPlugin extends PlayPlugin{


public void onApplicationStart() {
GGConfigurer.load("conf/application.conf");
GGMongoClientPool.pool.initPool(GGMongoClients.getClients());
GGLogger.info("数据库初始化成功...");
}
public void onApplicationStop() {
GGMongoClientPool.pool.destoryPool();
}
}


第二步:在app目录下添加文件play.plugins,内容如下:

101:mongo.GGMongoPlugin


play framework框架的插件实现很简单,通过如上两步的配置就可以在项目启动的时候加载对应的插件,初始化对应的内容;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值