2008-04-05

Jwebap项目(六)——plugin部署的设计讨论

关键字: profiling, jwebap
Jwebap(jwebap介绍:http://www.javaeye.com/topic/165593,jwebap.sourceforge.net)准备在0.6.*版本,实现初步的plugin管理,在plugin架构的基础上扩展jwebap的功能,这里专门讨论下关于部署管理的设计,欢迎大家提意见 Jwebap的Plugin部署设计包括: 可视化部署——Jwebap控制台 1)支持对plugin的界面部署,可以移除plugin和部署新的plugin 2)Component的参数可在界面配置,可以配置Component开关 部署方式 1)Jwebap分为core包和各种plugin ...
3月23日jwebap发布0.5.9版本,(jwebap介绍:http://www.javaeye.com/topic/165593,jwebap.sourceforge.net) 0.5.9版本主要修正.8版本在使用中暴露的一些问题,更新的内容包括: 1)增加SQL监控的耗时和百分比统计功能 2)优化jwebap字节码注入的内存开销 3)修改log4j为commons-log 4)优化jdbcHandle对方法处理方式 5)优化轨迹模型 6)修正Http监控URL过滤BUG 同时为0.6.0版本做准备,在0.6.*版本jwebap将实现初步完整的plugin架构,主要完成2方面工作: ...
一直想写一篇关于Jwebap(jwebap.sourceforge.net)项目的介绍文章,鉴于0.5.8版本的发布,我整理了下发表出来,希望大家感兴趣。 引用背景 最初,在06年底由于要帮助几个大型项目进行性能上的优化,有了开发一个专用于profiling组件的想法,于是有了Jwebap,慢慢的到了07年6月份开始有了最初的方案,在11月终于在sourceforge上发布了第一个版本。 Jwebap能带来什么? Jwebap是一个用于J2EE工程(EJB以及WebModule系统)进行性能监控的组件,它有几个特点: 1)基于ASM实现类的静态增强,可以无缝的部署于J2EE系统,对系统的 ...
二,plugin视图框架 上面一篇说了,jwebap为了部署方便,所有的视图都放在jar包,那么就需要提供一套视图框架,给plugin的实现者开发视图。 视图的实现通过封装第三方的模版引擎实现,相应的提供分发和mvc框架实现,我们先看一看,一个具体的jwebap视图请求,会是怎么样的: dispatcher层 视图框架提供了类似filter的实现机制,这对我们有什么用呢,我们看看上图。对于静态文件的请求,比如图片,我们可以通过 FileDispatcher分发处理,而对于需要进行运算的业务视图处理,可以通过ActionDispatcher进行分发处理。 细心的话,我们还会发现对于同一 ...
虽然本篇的重点不在整体的介绍,但是还是先简单的介绍下jwebap的架构。 一,jwebap架构 jwebap是一个针对于j2ee应用的profiler tools,它可以对Web application以及EJB application进行监控, 从而有效的帮助您找到系统的性能瓶颈。目前,它提供了方法调用轨迹,SQL抓取,http请求等方面的监控功能。 相比其他profiler,它具有一些自己的优势: 引用1)纯java,不依赖于平台 很多采用jvmpi的profiler,本身会对应用带来极大的性能负担,甚至应用会因此慢上10-20倍。相比来说纯Java 实现的profiler在性能消耗 ...
搜了半天也没什么好办法,求教: java注释里面有示例代码,谁知道什么标签,可以保持代码formate的时候不会打乱注释里面的代码格式? 同时生成的javadoc也能保持这样的格式?怎么定义javadoc的css?用什么标签?比如: /** * 标准Action请求分发器 根据Action的Mapping配置,分发请求给Action进行处理。所有的Action都继承于Action类 * * public abstract class Action { * * public abstract void process(HttpServletRequest ...
Digester是Jakarta 子项目Commons下的一个模块,支持基于规则的对任意XML文档的处理。Jwebap中采用它进行XML的加载。 Digester项目提供了非常友好的XML操作API,当XML结构改变时,只需要改变映射的规则,就可以完成代码的修改。 Digester项目提供了一个简单的例子 假定有两个JavaBean如下,分别为Person和Address package mypackage; public class Person { public void addAddress(Address address); public Iterator getAddr ...
这几天,一直非常苦恼,Jwebap的原先的配置设计需要改造,新的方案一直拿捏不定。先说说Jwebap的一些配置要求: 由于Jwebap的Plug-in架构,配置的要求会更高,主要我想达到以下几个目的: 1)配置的形式,可以由第三方扩展者进行扩展 以后我希望每个plug-in就是一个jar,jar里面带有部署描述,描述jar包实现了几个Component,有什么属性。 2)要能够较好的适应配置的结构变化,由于目前Jwebap配置内容多是由组件主动获取的形式获得,配置结构的与组件的依赖较大 3)解决与jdom的依赖,解决jdom在中间件环境下不兼容的问题 4)能够方便的对配置文件进行读 ...
第4次修改2007-12-26 1)基于接口编程 对你所想到的所有抽象模型都以接口的形式表达,把基于接口编程升华成一种习惯,而不仅仅是一种模式 2)拆分细粒度的接口 在抽象出一个接口模型的时候,问自己三个问题:1.接口是否包含了过多的职责?2.是否所有的使用场景都需要接口暴露的所有方法?3.是否可以通过继承细粒度的接口实现? 3)小心的对代码进行分包,避免互相依赖和依赖循环 4)对不能处理的错误继承RuntimeException实现,反之,不用。 5)良好的注释习惯,在接口注释中把所有已知的实现类用@see标注
  • 17:13
  • 浏览 (188)
  • 评论 (0)
  27号晚上,终于完成了我的开源项目Jwebap的第一版,在文档,介绍网站都没有准备全的情况下,我就迫切的把它放到了SF上。由于,仅仅是一个pre-alpha版本,文档也相对不全,所以在我的博客和sf上以及javaeye的论坛上,我都没有发布任何消息。当时,在SF上的项目列表中我几乎找不到自己的项目。 众所周知,sourceforge项目是通过activity进行排序的,在jwebap项目第一次版本发布的时候,计算出来的activity只有80%多一些,也就是说,在sourceforge的17W项目中,仍有21000左右的项目排在前面。 令人惊奇的是,过了一个晚上,第二天一 ...
leadyu
搜索本博客
博客分类
存档
最新评论