从UPJAS2.0.0版本开始,同一份UPJAS2源码编译出两个介质,即upjas-2.x.x.zip(JEE容器)、upjas-web-2.x.x.zip(Web容器),其中upjas-web-2.x.x.zip可看作是一个Tomcat。
Note 如果应用中用到了JEE规范的组件,比如EJB,JMS,JPA等,那么就必须使用upjas-2.x.x.zip 如果应用中只包含Servlet,或者应用自带了一些框架,比如c3p0, struts,spring,hibernate,那么就可以使用upjas-web-2.x.x.zip
modules/system/layers/base/org/jboss/as/product/upjas/dir/META-INF/MANIFEST.MF,其中可以看到类似于:
JBoss-Product-Release-Name: UPJAS
JBoss-Product-Release-Version: 2.0.1
JBoss-Product-Console-Slot: upjas
在upjas_setEnv.sh中,其实是因为配置了dbpm server的信息,同时upjas2对jboss进行了改造,所以当http请求到达时,upjas2如果发现数据连接有问题,就直接连接到dbmp server,会把密码取回来。所以用户自己不用配置数据库密码。
为了方便开发,upjas2预留了一个口子,即:可以在upjas_setEnv.sh中的DB_USER_1=XXX下面加入一行 DB_PASSWORD_1=XXXX (这里的密码写明文)
如果没有定义SERVER_LOG_DIR则 standalone 模式:upjas2/standalone/log/server.log
如果没有定义SERVER_LOG_DIR则 domain模式:upjas2/domain/servers/server-xxx/log/server.log
不会。UPJAS的日志文件共有以下几个:
upjas2/bin/nohup.out --只显示打印在控制台上有限的信息
standalone 模式:upjas2/standalone/log/server.log 、 upjas2/standalone/log/boot.log
domain模式: upjas2/domain/log/host-controller.log 、 upjas2/domain/log/process-controller.log 、 upjas2/domain/servers/server-xxx/log/server.log 、 upjas2/domain/servers/server-xxx/log/boot.log --启动的详细日志
appLog/XX.log --应用自己记录的日志
Note:
- 其中nohup.out日志文件,记录的信息有限,不会无限扩大。
- server.log中记录的信息较多,采用的滚动日志的方式,最大不超过8个文件,每个文件不超过100M
1. standalone模式: 日志的配置位于\$UPJAS2_HOME/standalone/configuration/upjas-standalone.xml中
2. cluster模式: 日志的配置位于\$UPJAS2_HOME/domain/configuration/upjas-standalone.xml中
upjas_setEnv.sh可以多次修改,重复执行,所以如果发现配错了,直接修改upjas_setEnv.sh,然后再执行一次upjas_config.sh即可。
因为第一次UPJAS2启动过程中虽然有一些组件有异常,但是整个服务器还是被启动了起来,进程还在,所以需要找出该进程,kill掉。然后再重新启动即可。
错误详情:
========================================================================= Error occurred during initialization of VM Could not reserve enough space for object heap Could not create the Java virtual machine.
这种错误通常都是由于开发机器Windows 32bit有最大内存限制,在服务器上一般不会出现。解决方法是修改bin/upjas\_tunning\_setEnv.sh中的JAVA\_OPTS中的堆内存大小,调整至小于1536M即可。
UPJAS2对JBoss 7.2.0.Final的数据源连接池的源码进行了修改。 当正在运行的数据库密码被修改,UPJAS2不用重启。不用做什么事情。 一方面,当前正在处理的请求,由于用了池中已建立好的连接,不会受影响。另一方面,新的请求到来时,当需要请求新数据库连接时,UPJAS2会判断出数据库密码已被修改,会自动尝试和dbpm server联系,取回新密码后,建立一个好的jdbc连接交给应用。整个过程对应用透明。所以使用UPJA2S作为应用服务器后,应用无需再关心数据库密码修改的问题,也就不再需要modifyPasswd脚本了。
UPJAS2可放于 \$UPJAS_HOME/upjas-conf 下面。
首先,请核实ear中APP-INF/lib与war中WEB-INF/lib中是否有重复的log4j,如果有,请只保留APP-INF/lib中的。其次,请核实log4j.properties中是否有不对的写法,是否有乱码。
JBoss社区提供了 jdf(JBoss Developer Framework) ,它提供了一个具体的JEE6应用教程。网站详细描述了一个JEE6项目的具体开发过程:在eclipse中建立project、entity设计、服务层设计、页面开发等。