大家在用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. python模块之JSON

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #python模块之JSON #1.JSON #JSON表示的对象就是标准的JavaScript语言的对象 # ...

  2. uml中活动图与流程图的区别

    活动图定义: 活动图是UML用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动的控制流.活动图在本质上是一种流程图. 它是UML中用于对系统动态活动建模的图形,反映 ...

  3. 高密度WIFI部署要点

    1. 划分AP组,分组带宽控制 根据区域的人数密集程度划分不同的AP组,并进行优化策略调整,分组分权限进行带宽控制,以确保单用户的2.4G带宽不低于1M,5G用户不低于2M2. 相邻AP错开信道 超高 ...

  4. Android 代码画角标 offcutView

      效果如下:          代码: <com.andye.OffcutView android:layout_width="30dp" android:layout_h ...

  5. Android的Button按钮,ACTION_UP事件不触发解决方案

           在android 编程时,有时候要实现当Button一直按下的时候,执行一些逻辑代码,当按钮弹起的时候,终止这些逻辑代码的执行.      比如在 设置页面的滑动开关时,如果不监听ACT ...

  6. Maven Package Plugins And Maven Test

    在使用Maven时候,大家避免不了使用大量插件: 1. maven-compiler-plugin 指定JDK版本和编码方式 ? ?compiler插件能解决2个问题: 第一:指定JDK版本--mav ...

  7. C++ map,set内部数据结构

    1)Set是一种关联容器,它用于存储数据,并且能从一个数据集合中取出数据.它的每个元素的值必须唯一,而且系统会根据该值来自动将数据排序.每个元素的值不能直接被改变.[重点]内部结构采用红黑树的平衡二叉 ...

  8. window 64bit 下react navtive安装

    1.安装jdk 去这里安装对应的jdk:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.h ...

  9. Linux MySQL 4G内存my.cnf配置表(转)

    # The following options will be passed to all MySQL clients[client]character-set-server = utf8  #### ...

  10. C# WinForm开发系列 - DataGrid/DataGridView

    在WinForm开发中,DataGrid/DataGridView被广泛使用于绑定数据库中数据进行呈现.整理一些关于DataGrid/DataGridView使用的文章,涉及DataGrid/Data ...