浏览 2898 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-04-05
http://www.iteye.com/topic/165593,jwebap.sourceforge.net)准备在0.6.*版本,实现初步的plugin管理,在plugin架构的基础上扩展jwebap的功能,这里专门讨论下关于部署管理的设计,欢迎大家提意见
Jwebap(jwebap介绍:
Jwebap的Plugin部署设计包括: 可视化部署——Jwebap控制台 1)支持对plugin的界面部署,可以移除plugin和部署新的plugin 2)Component的参数可在界面配置,可以配置Component开关 部署方式 1)Jwebap分为core包和各种plugin包,在jwebap.xml里面可以配置{ *plugin-ref , *component , *action , *deispatcher} 2)plugin包的Meta-INF目录存放plugin.xml,配置{*component , *action , *deispatcher} 默认jwebap.xml里面只配置plugin-ref,以及core包需要的action和deispatcher,当在控制台修改了plugin的参数(比如JdbcComponent的driver-class参数),则会保存在jwebap.xml中 3)jwebap.xml配置的同名component,action,deispatcher优先于各plugin的配置 4)在jwebap控制修改了部署参数,暂时不支持刷新到RuntimeContext,必须重起Server方能生效,或者在第一次部署时手工修改配置文件 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-04-05
关于部署, Jwebap的一个目标是简化配置, 基于此提一个建议:
Listener, Filter, Servlet是否可以三合一为Filter. 这样用户配置起来会方便一些 原配置: <context-param> <param-name>config</param-name> <param-value>/WEB-INF/jwebap.xml</param-value> </context-param> <listener> <listener-class>org.jwebap.core.JwebapListener</listener-class> </listener> <filter> <filter-name>PageDetectFilter</filter-name> <filter-class>org.jwebap.plugin.http.DetectFilter</filter-class> <init-param> <param-name>excludeUrls</param-name> <param-value>/detect;/detect/*;*.js;*.jpg;*.htm;*.html;*.gif;*.png;*.css;*.swf</param-value> </init-param> </filter> <filter-mapping> <filter-name>PageDetectFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <servlet> <servlet-name>detect</servlet-name> <servlet-class>org.jwebap.ui.controler.JwebapServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>detect</servlet-name> <url-pattern>/detect/*</url-pattern> </servlet-mapping> 改成: <filter> <filter-name>JwebapFilter</filter-name> <filter-class>org.jwebap.web.JwebapFilter</filter-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/jwebap.xml</param-value> </init-param> <init-param> <param-name>detect</param-name> <param-value>/detect</param-value> </init-param> <init-param> <param-name>excludeUrls</param-name> <param-value>*.js;*.jpg;*.htm;*.html;*.gif;*.png;*.css;*.swf</param-value> </init-param> </filter> <filter-mapping> <filter-name>JwebapFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 然后在Filter的init方法中处理原Listener的工作, 在Filter拦截/detect的请求, 派谴给原Servlet相关处理类. 并且在excludeUrls不需要再写"/detect;/detect/*;", 可以在Filter内部自动添加上. 如果要保持原有类职责分明, 也可以加一个扩展包, 专门处理简化API. |
|
返回顶楼 | |
发表时间:2008-04-07
当时,把Servlet和Listner分开,主要是考虑到Listner的加载顺序更前,在和spring等应用一起使用时可以保证先加载,避免一些类加载可能出现的问题。不过,这块是可以考虑进行一些简化
|
|
返回顶楼 | |