大家在用Jboss的时候可能跟我一样,觉得Jboss启动实在太慢!比起Tomcat几乎秒启的速度,Jboss几乎让人无法忍受。加上本人电脑配置比较低,Jboss启动最快的时候也是一分多钟,慢的时候四分多钟!这实在是太让人抓狂了。而且为了避免缓存的影响,会经常重启Jboss,这就导致调试程序的时间有很大一部分花在了Jboss的启动上。这显然是很不科学的,其实我们可以通过精简Jboss里面的包以及配置,来提高其启动速度。因为里面有很多东西是我们所用不到的,下面我们看看具体操作。

以JBoss 5.1.0(jboss-5.1.0.GA.zip)为例,瘦身步骤如下:

如果用不到消息队列,移除JMS功能
    删除%JBOSS_HOME%/server/xxx/conf/props/messaging-roles.properties
    删除%JBOSS_HOME%/server/xxx/conf/props/messaging-users.properties
    删除%JBOSS_HOME%/server/xxx/deploy/messaging目录
    删除%JBOSS_HOME%/server/xxx/deploy/jms-ra.rar
    删除%JBOSS_HOME%/server/xxx/deploy/quartz-ra.rar 
    删除%JBOSS_HOME%/server/xxx/deployers/messaging-definitions-jboss-beans.xml

不使用JBoss邮件服务JBoss mail
    删除%JBOSS_HOME%/server/xxx/deploy/mail-ra.rar
    删除%JBOSS_HOME%/server/xxx/deploy/mail-service.xml

不使用JBoss Web Service(JBoss ws)
    删除%JBOSS_HOME%/server/xxx/deploy/jbossws.sar目录
    删除%JBOSS_HOME%/server/xxx/deployers/jbossws.deployer

不使用调度服务及EJB定时器
    删除%JBOSS_HOME%/server/xxx/deploy/schedule-manager-service.xml
    删除%JBOSS_HOME%/server/xxx/deploy/scheduler-service.xml
    删除%JBOSS_HOME%/server/xxx/deploy/quartz-ra.rar
    删除%JBOSS_HOME%/server/xxx/deploy/ejb2-timer-service.xml
    删除%JBOSS_HOME%/server/xxx/deploy/ejb3-timer-service.xml

不使用EJB2
    删除%JBOSS_HOME%/server/xxx/deploy/ejb2-container-jboss-beans.xml
    注:另外一个文件不要删除,有人反应删除会影响EJB3

不使用EJB3
    删除%JBOSS_HOME%/server/xxx/deploy/ejb3-connectors-jboss-beans.xml
    删除%JBOSS_HOME%/server/xxx/deploy/ejb3-container-jboss-beans.xml
    删除%JBOSS_HOME%/server/xxx/deploy/ejb3-interceptors-aop.xml

不使用Beanshell部署器
    删除%JBOSS_HOME%/server/xxx/deployers/bsh.deployer目录

不使用Seam部署器
    删除%JBOSS_HOME%/server/xxx/deployers/seam.deployer目录

不使用Hibernate部署器
    删除%JBOSS_HOME%/server/deployers/hibernate-deployer-jboss-beans.xml

不使用EAR部署器
    删除%JBOSS_HOME%/server/xxx/deployers/ear-deployer-jboss-beans.xml

不使用UDDI
    删除%JBOSS_HOME%/server/xxx/deploy/uuid-key-generator.sar目录
 
不使用JUDDI
    删除%JBOSS_HOME%/server/xxx/deploy/juddi-service.sar
 
控制台很少用,但极耗资源。而且安全配置不好,还会带来安全问题,默认的jboss社区版就有安全问题。全部移除
    删除%JBOSS_HOME%/server/xxx/deploy/admin-console.ear
    删除%JBOSS_HOME%/server/xxx/deploy/management文件夹
    删除%JBOSS_HOME%/server/xxx/deploy/jmx-console.war
    删除%JBOSS_HOME%/server/xxx/deploy/jbossws.sar
 
移除IIOP/CORBA支持,现在应该说很少用了
    删除%JBOSS_HOME%/server/xxx/conf/jacorb.properties 
    删除%JBOSS_HOME%/server/xxx/deploy/iiop-service.xml 
    删除%JBOSS_HOME%/server/xxx/deployers/ejb3.deployer/META-INF/ejb3-iiop-deployers-jboss-beans.xml 
    删除%JBOSS_HOME%/server/xxx/lib/jacorb.jar
 
其它的一些文件,用处都不大
    删除%JBOSS_HOME%/server/xxx/deploy/jboss-xa-jdbc.rar
    删除%JBOSS_HOME%/server/xxx/deploy/sqlexception-service.xml
    删除%JBOSS_HOME%/server/xxx/deploy/xnio.deployer
    删除%JBOSS_HOME%/server/xxx/deploy/xnio-provider.jar
    删除%JBOSS_HOME%/server/xxx/deploy/profileservice-secured.jar
    删除%JBOSS_HOME%/server/xxx/deploy/profileservice-jboss-beans.xml

PS:%JBOSS_HOME%表示JBoss安装目录,“xxx”表示server目录下,所有包含其后面内容的目录。

以上是在下整理的一些相关信息,大家可以根据自己的需要,给Jboss进行相应的瘦身。让你的Jboss在启动的时候不再加载那些你不需要的文件,从而使Jboss的启动速度得到不小的提升。

过年了,最后在这里祝各位,春节快乐,马年马上有钱,单身的马上有对象。

菜鸟学Java(十七)——Jboss瘦身的更多相关文章

  1. 菜鸟学Java(十五)——Java反射机制(二)

    上一篇博文<菜鸟学编程(九)——Java反射机制(一)>里面,向大家介绍了什么是Java的反射机制,以及Java的反射机制有什么用.上一篇比较偏重理论,理论的东西给人讲出来总感觉虚无缥缈, ...

  2. 菜鸟学Java(十四)——Java反射机制(一)

    说到反射,相信有过编程经验的人都不会陌生.反射机制让Java变得更加的灵活.反射机制在Java的众多特性中是非常重要的一个.下面就让我们一点一点了解它是怎么一回事. 什么是反射 在运行状态中,对于任意 ...

  3. 菜鸟学java开篇

    从事it工作已有接近两年的时间了, 一直从事的是php的工作, 一直都想学java ,原因就不多说了, 毕竟优秀的php程序员,都会是一个其他方面的高手, 例如java ,并不是说java有多好,ph ...

  4. 菜鸟学Java(十六)——Jboss简介

    简介 JBoss是全世界开发者共同努力的成果,一个基于J2EE的开放源代码的应用服务器. 因为JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用它,而不用支付费用.2006年,Jboss公司 ...

  5. 菜鸟学Java(十八)——异常

    每个学编程的人在编程的过程中都会遇到各种异常.那么当我们遇到异常的时候该怎么处理呢?针对不同的异常我们又该采取什么具体的处理方式呢?这些问题在我开始学编程的很长一段时间里我都不太清楚,还好随着不断的学 ...

  6. 菜鸟学Java(十二)——搭建一个完整的Java开发环境

    作为一个Java程序员,配置一个java开发环境是必备的技能,今天给广大菜鸟初学者补上一课.环境的配置,大概就分三个1,JDK 2,Tomcat(或者其他的)3,eclipse(或者myeclipse ...

  7. 菜鸟学Java(二十一)——怎样更好的进行单元測试——JUnit

    測试在软件生命周期中的重要性,不用我多说想必大家也都很清楚.软件測试有许多分类,从測试的方法上可分为:黑盒測试.白盒測试.静态測试.动态測试等:从软件开发的过程分为:单元測试.集成測试.确认測试.验收 ...

  8. 菜鸟学Java(二十三)——Java内存分析

    我们常说的Java内存主要分为四大块(寄存器不在考虑之内,我们无法用代码来操控它):stack(栈).heap(堆).data segment(数据区).code segment(代码区).它们的主要 ...

  9. 菜鸟学Java(二十二)——重新认识泛型

    泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数.这种参数类型可以用在类.接口和方法的创建中,分别称为泛型类.泛型接口.泛型方法. Java语言引 ...

随机推荐

  1. RHEL7 在不同的环境中使用不同的网络配置文件

    比如,我们可以设置RHEL7 系统在公司时使用一个网卡配置文件:在家时则使用另外一个配置文件(可以根据不同的环境设置多个网卡配置文件). 网卡配置信息如下: [root@rhel7 ~]# nmcli ...

  2. 转:CMake快速入门教程-实战

    CMake快速入门教程:实战 收藏人:londonKu     2012-05-07 | 阅:10128  转:34    |   来源   |  分享               0. 前言一个多月 ...

  3. JavaScript原生对象及扩展

    来源于 https://segmentfault.com/a/1190000002634958 内置对象与原生对象 内置(Build-in)对象与原生(Naitve)对象的区别在于:前者总是在引擎初始 ...

  4. Web 进化

    来源于:http://xitu.github.io/2016/05/11/history-of-web/ 传统后台架构 上古时代 上古时代 123456789101112131415161718192 ...

  5. iOS UILabel设置行间距和字间距

    实现UILabel的文字,设置行间距和字间距. 效果图: 代码: let lblTitle = UILabel(frame: CGRect(x: , y: , width: KScreenWidth- ...

  6. Xcode全局替换内容,一键Replace

    有时需要在整个项目里,全局修改某一段话或文字,可以这样快速实现: 1.打开查找功能 2.输入你要替换的内容 比如,我这边想全局修改作者名称 3.点击Find,会出现一个框,会有replace出来,就和 ...

  7. WKWebView 使用及注意事项

    iOS8之后,苹果推出了WebKit这个框架,用来替换原有的UIWebView,新的控件优点多多.由于一直在适配iOS7,就没有去替换,现在仍掉了iOS7,以为很简单的就替换过来了,然而在替换的过程中 ...

  8. Fedora 20 安装搜狗拼音输入法

    1.卸载ibus sudo yum remove ibus    gsettings set org.gnome.settings-daemon.plugins.keyboard active fal ...

  9. HDU 3584 Cube (三维数状数组)

    Cube Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others)Total Submi ...

  10. SharePoint 2013 Designer工作流——Parallel Block的应用

    参考目录 安装和配置SharePoint 2013 Workflow SharePoint 2013 实现多级审批工作流 在自定义Workflow时,往往会遇到这样场景,某个审批需要被多人查阅,每个查 ...