JBoss Tips


所属类别:开发技术

文章作者:arliu

特别推荐:免费发布信息 承包关键词~~抢爆了!HOT!


1 JBoss deploy 出现 OutOfMemoryError : PermGen space答:PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。说说为什么会内存益出:这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。这种错误常见在web服务器对JSP进行pre compile的时候。改正方法,在 run.bat 中加入:-Xms256m -Xmx512m -XX:MaxNewSize=256m -XX:MaxPermSize=256m因为项目中引用了很多的 jar 包,而这些 jar 包中的 class 信息会被 JBoss 的 class loader 加载到 PermGen space 区域,在 JVM 默认的情况下,该部分空间的大小只有 4M,在 jar 包非常多的情况下,显然是不够用的,所以通过 -XX:MaxPermSize=256m 指定最大值后即可解决问题。另外,如果 heap 内存不足出现 java.lang.OutOfMemoryError: Java heap space 时,可以通过 -Xmx512m 指定最大 heap 内存来解决这样的问题。2 将JBoss启动做成Windows的系统服务这里将用到JavaService.exe 这个程序将JBoss启动做成Windows的系统服务。第一步:下载jboss-4.2.2,并安装到某一个目录下.第二步: 复制 JavaService.exe 文件到%JBOSS_HOME%\bin目录下; 如果没有JavaService.exe 可以在http://javaservice.objectweb.org/ 网站上下载;第三步: 设置环境变量: 将JAVA_HOME设置成jdk的目录,例如:D:\develop\java\jdk1.6.0 将JBOSS_HOME设置成JBOSS的目录,例如:D:\Develop\jboss-4.2.0.GA注意:在环境变量中目录不能有空格,否则会造成服务无法启动。第三步: 通过Windows的运行“cmd”或者“command”打开dos运行窗口;进入“%JBOSS_HOME%\bin”路径;JavaService.exe -install JBoss %Java_Home%\jre\bin\server\jvm.dll -Djava.class.path="%JBOSS_HOME%\bin\run.jar;%JAVA_HOME%\lib\tools.jar" -Xms256m -Xmx512m -XX:MaxNewSize=256m -XX:MaxPermSize=256m -start org.jboss.Main -params -c default -Djboss.bind.address=0.0.0.0 -stop org.jboss.Main -method systemExit -out "%JBOSS_HOME%\server\default\log\out.log" -err "%JBOSS_HOME%\server\default\log\err.log" -current "%JBOSS_HOME%\bin" -overwrite -startup 6运行后,将会提示:“The JBoss automatic service war successfully installed”,提示服务安装完成,可以在Windows的服务管理列表中找到名称为“JBoss”的服务。输入:“net start JBoss”启动服务,服务启动可能需要一定时间,打开新的IE浏览器在地址栏输入:http://localhost:8080 会有提示页面,表示服务启动成功。注意:如何卸载服务:在dos命令窗口输入:“JavaService.exe Cuninstall 服务名称(一般是jboss)”另外此方法也使用于其他的服务,需要在第四步时更改相应的参数。3 修改端口D:\jboss-4.2.2.GA\server\default\deploy\jboss-web.deployer\server.xml4 修改上下文根WEB-INF中加入文件jboss-web.xml,内容如下:<?xml version='1.0' encoding='UTF-8' ?><!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 2.3V2//EN" "http://www.jboss.org/j2ee/dtd/jboss-web_3_2.dtd"> / www.enAny.cn5 jboss 无法用本机ip地址访问,只能用localhost或127.0.0.1访问?答:JBOSS4.2以上版本服务启动如果不加任何参数的话,只监听127.0.0.1,就是说只能用127.0.0.1或者localhost访问,用本机的对外地址访问不了,同一网络内别的机子没法访问。除非你用参数-b ip地址 来绑定监听的地址才可以。这和以前版本的JBOSS不一样,以前版本的不加任何参数是监听本机所有的IP地址,现在必须使用参数-b 0.0.0.0才可以监听全部地址。方法1:run -c default -Djboss.bind.address=0.0.0.0方法2:run -b 10.16.82.876 如何run -c all启动呢?已经把jboss做成了windows里面的服务,但是如何run -c all启动呢?我找了很久,最终在别人的文章的参数栏中发现了。在InstallJBoss.bat文件中的参数-start org.jboss.Main 后面加上 -params -c all这样的话,就行了,如果要用minimal方式,就把-c all改成-c minimal就行了。7 WEB部署目录D:\dfweb\jboss-4.2.2.GA\server\default\deploy\jboss-web.deployer8 JBOSS缓存tomcat的缓存是在tomcat\work\Catalina\localhost目录jboss的缓存是在JBoss\server\default\work\jboss.web\localhost目录本文出自 51CTO.COM技术博客

相关信息

· 轻松卸载掉Windows Vista的办法

· 防止Access 2000密码被破译的方法

· 伊坎未获雅虎支持 最终与杨致远妥协

· 企业网管员之对抗BT下载7种武器








....

80234 49221