bboss mvc启动事件监听器使用方法-阿里云开发者社区

开发者社区> bboss> 正文

bboss mvc启动事件监听器使用方法

简介: 在实际应用,往往需要在mvc容器启动后执行相应的操作,bboss提供了mvc容器启动监听器来达成这个目的,本文详细介绍bboss mvc启动事件监听器使用方法。 1.首先要实现一个ioc容器监听器,这个监听器只要实现接口即可: org.
+关注继续查看
在实际应用,往往需要在mvc容器启动后执行相应的操作,bboss提供了mvc容器启动监听器来达成这个目的,本文详细介绍bboss mvc启动事件监听器使用方法。

1.首先要实现一个ioc容器监听器,这个监听器只要实现接口即可:
org.frameworkset.spi.event.IocLifeCycleEventListener

接口中提供了两个事件方法和一个初始化参数方法:
public void init(Map<String,String> params);//监听器初始化参数方法
public void beforestart()//mvc容器启动前事件触发的方法
public void afterstart(BaseApplicationContext arg0) //mvc容器启动后事件触发的方法,将mvc对应的ioc容器对象作为after事件方法的参数


以下是一个简单的接口实现实例:
package com.frameworkset.platform.sysmgrcore.manager;

import org.frameworkset.spi.BaseApplicationContext;
import org.frameworkset.spi.event.IocLifeCycleEventListener;
import org.frameworkset.task.TaskService;

public class QuartzIocLifeCycleEventListener implements IocLifeCycleEventListener {

	public QuartzIocLifeCycleEventListener() {
		// TODO Auto-generated constructor stub
	}

	@Override
	public void afterstart(BaseApplicationContext arg0) {
		// mvc容器启动后,初始化任务管理quartz服务
		TaskService service = TaskService.getTaskService();
		service.startService();

	}

	@Override
	public void beforestart() {
		//do something here.

	}

	@Override
	public void init(Map<String, String> arg0) {
		sqlitepath = arg0.get("sqlitepath");

	}
}


2.实现事件监听器后,需要将监听器配置到mvc拦截器中,配置方法如下:
找到应用的web.xml文件,在DispatchServlet中增加iocLifeCycleEventListeners参数,多个事件监听器以逗号分隔。

<servlet-name>mvc</servlet-name>
        <servlet-class>org.frameworkset.web.servlet.DispatchServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/conf/appbom/bboss-*.xml,
            /WEB-INF/conf/commons/bboss-*.xml,           
            /WEB-INF/conf/workflow/bboss-*.xml,
			/WEB-INF/conf/application/bboss-*.xml,
            /WEB-INF/conf/document/bboss-*.xml,
            /WEB-INF/conf/params/bboss-*.xml,
            /WEB-INF/conf/counter/bboss-*.xml,
            /WEB-INF/conf/channel/bboss-*.xml
            </param-value>
        </init-param>
        <init-param>
			<param-name>messagesources</param-name>
			<param-value>/WEB-INF/messages_pdp,/WEB-INF/messages_pdp_common,
			/WEB-INF/conf/appbom/messages_appbom,
			/WEB-INF/conf/sanyems/messages</param-value>
		</init-param>
		<init-param>
			<param-name>useCodeAsDefaultMessage</param-name>
			<param-value>true</param-value>
		</init-param>
		<init-param>
			<param-name>iocLifeCycleEventListeners</param-name>
			<param-value>com.frameworkset.platform.sysmgrcore.manager.QuartzIocLifeCycleEventListener</param-value>
		</init-param>
<init-param>
			<param-name>iocLifeCycleEventListenerParams</param-name>
			<param-value>sqlitepath=d:/gencodedb|sourcepath=d:/sourcecode</param-value>
		</init-param>
		<load-on-startup>0</load-on-startup>
    </servlet>


参数iocLifeCycleEventListeners中可以配置多个事件监听器,配置时用逗号分隔即可,例如:
<init-param>
			<param-name>iocLifeCycleEventListeners</param-name>
			<param-value>com.frameworkset.platform.sysmgrcore.manager.QuartzIocLifeCycleEventListener,com.frameworkset.platform.OtherIocLifeCycleEventListener</param-value>
		</init-param>


iocLifeCycleEventListenerParams中可以配置监听器依赖的初始化参数,多个参数用|分隔,例如:
sqlitepath=d:/gencodedb|sourcepath=d:/sourcecode

mvc容器事件监听器主要用来保证其他服务和mvc ioc容器启动的先后顺序,以便解决其他服务和mvc容器启动顺序冲突问题。只有存在顺序冲突的情况下才需要用到mvc ioc容器事件监听器;如果没有启动顺序冲突,不需要使用事件监听器。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
LZP
安卓无法启动守护进程解决方法
记一次安卓无法启动守护进程的解决方法
47 0
ACCESS 触发器delete table事件变量使用及连续删除
    ACCESS的TABLE DELETE 事件触发后,会出现一个[旧]的记录,这条记录非常有用,可以用来作条件判断使用。     如下图的table event事件中,删除一条记录后,可以使用[旧]记录连接执行多个删除相关记录的操作。
582 0
在CentOS设置MariaDB的开机自启动
在CentOS设置MariaDB的开机自启动 1、检查MySQL是否在可管理列表中 [root@Cloud-Q2 ~]# chkconfig --list abrt-ccpp       0:off 1:off 2:off 3:on 4:of...
645 0
关于启动Activity之间的及普通按钮的点击事件
两个java文件 对应两个layout 主Activity通过按钮启动副Activity       副Activity通过多个按钮启动主Activity 主Acticity 1 package lianxi; 2 3 import com.
601 0
+关注
bboss
热衷开源,主要开源作品:开源框架bboss,bboss session,bboss 序列化等 bboss特色:http://yin-bp.iteye.com/blog/1080824
328
文章
1
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载