支持的JDK及版本
SUN 1.4.2/1.5.0,IBM 1.4.2/1.5.0,HP 1.4.2/1.5.0,BEA JRocket 1.4.2/1.5.0
-> Top
Apusic的安装版本
带JRE,不带JRE。Linux/unix下,建议使用不带JRE的版本,否则可能因为JRE冲突导致安装失败。
-> Top
安装失败
可能的原因:未安装JDK,未将Java可执行程序设置到环境变量path中,Windows下TMP空间不够,安装自解压失败
-> Top
如何升级
访问http://www.apusic.com获得产品升级包或者访问http://info.apusic.com:8080/pms获得临时补丁。升级前请注意备份Apusic安装目录下的所有文件。
-> Top
是否支持中文安装目录
支持,但不建议使用,因为应用中可能有部分业务功能跟安装目录有关,解析中文可能导致问题。
-> Top
安装后是否需要重启
不需要重启。
-> Top
如何设置环境变量
Windows下,通过set命令,如set JAVA_HOME=d:\java\jdk1.5.0。Linux/unix下,一般通过export命令,如export JAVA_HOME=/usr/java/jdk1.5.0
-> Top
如何检查环境变量
Windows下,用set命令。Linux/unix下,用env命令。有关环境变量也有可能在可执行文件中进行设置。需要注意的几个环境变量:JAVA_HOME,APUSIC_HOME,path,classpath
-> Top
如何更改HTTP服务端口
通过修改APUSIC_HOME/config/apusic.conf中的相关属性,一般是http服务中的ServerPort属性。样例如下:
<SERVICE CLASS="com.apusic.servlet.http.WebService" >
<ATTRIBUTE NAME="ServerPort" VALUE="80"/>
<ATTRIBUTE NAME="MaxWaitingClients" VALUE="500"/>
<ATTRIBUTE NAME="WaitingClientTimeout" VALUE="5"/>
<ATTRIBUTE NAME="KeepAlive" VALUE="true"/>
<ATTRIBUTE NAME="KeepAliveTimeout" VALUE="15"/>
<ATTRIBUTE NAME="MaxKeepAliveRequests" VALUE="100"/>
<ATTRIBUTE NAME="MaxKeepAliveConnections" VALUE="300"/>
<ATTRIBUTE NAME="ServletReloadCheckInterval" VALUE="30"/>
<ATTRIBUTE NAME="TemporaryDirectory" VALUE="scratch"/>
<ATTRIBUTE NAME="EnableLog" VALUE="False"/>
<ATTRIBUTE NAME="LogFileName" VALUE="logs/access.log"/>
<ATTRIBUTE NAME="LogFileLimit" VALUE="1000000"/>
<ATTRIBUTE NAME="LogFileCount" VALUE="10"/>
</SERVICE>
-> Top
数据库连接池JNDI名错误
JNDI名配置错误或者未配置好数据库源将导致以下异常:javax.naming.NameNotFoundException,与此相关的常见错误是JDBC驱动不在类路径上,将导致以下异常classnotfound
-> Top
为何读取XML文件异常
XML文档是编码敏感的,包括其中一些非可见字符,如果使用编辑器不当,在编辑或保存过程中引入不可见字符,将导致读取XML文件异常。
-> Top
如何正确处理XML编码
XML头通过encoding属性指定编码,如<?xml version="1.0" encoding="UTF-8"?>如需要进行编辑,最好使用notepad,在另存时选择保存文件的编码,对应于XML头的encoding设定。
-> Top
如何更换XML解析器
将XML解析器所在的jar文件(如xercesImpl.jar、xmlParserAPIs.jar)加入到类路径,在java命令行通过-D加入以下参数,形如:
-Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl
-Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl
-> Top
如何更换logger实现
使用Apache common logging框架的应用,可以更改其log实现,不采用log4j,而是采用jdk自带的log实现。在java命令行通过-D加入以下参数,形如:
-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger
-> Top
为何部署失败
部署失败的可能原因:=虚拟路径名重复(可以部署多个应用,不同的应用通过不同的虚拟路径进行访问,因此虚拟路径不允许重复),配置文件有误,类装载有错误,类找不到,格式有误,访问数据库异常(有些应用在装载阶段进行访问数据库)
-> Top
如何设置session timeout时间
Session timeout一般在应用的WEB-INF/web.xml中设定,形如(单位为分钟):
<session-config>
<session-timeout>30</session-timeout>
</session-config>
-> Top
Apusic远程管理地址是什么
https://your-host-name:6889/admin/protected/index.jsp(your-host-name指目标服务器所在的IP地址)
-> Top
默认用户与密码是什么
用户:admin,密码:admin
-> Top
如何进行注册
正版用户将得到一个正式的license序列号,通过访问注册网站,填入该序列号以及IP地址等信息,下载license文件,保存为APUSIC_HOME/config/license文件.注册地址:http://www.apusic.com:8888/regform.jsp
注意:license跟IP绑定,务必填写准确的IP地址,IP地址为本机网卡上设置的IP地址
-> Top
license文件如何生效
正确的license文件必须放到APUSIC_HOME/config目录下,重启Apusic后生效,生效后,启动时将可以看到以下信息(licensed copy)注意:license文件无后缀名
-> Top
如何察看日志
系统及应用日志保存在APUSIC_HOME/logs目录中,日志以循环写的方式进行记录,可以通过APUSIC_HOME/config/logging.xml进行设置日志文件的大小与数量. <handler class="java.util.logging.FileHandler"> <property name="level" value="ALL"/> <property name="limit" value="1000000"/> <property name="count" value="10"/> <property name="pattern" value="%h/logs/apusic.log"/> <property name="append" value="true"/> <formatter class="com.apusic.logging.SimpleFormatter"/> </handler>
-> Top
javac.jar版本不一致
JSP运行期需要Sun的编译包,默认安装下,该包为APUSIC_HOME/lib/javac.jar.很不幸,该包兼容版本为1.4.2,因此,如果使用JDK1.5.0,访问JSP时将报错:类文件格式无效。版本号带小数的“49.0”太新,此工具无法 理解。
解决办法:移除APUSIC_HOME/lib/javac.jar,将JAVA_HOME/lib/tools.jar拷贝到APUSIC_HOME/lib目录,Apusic 5.0将彻底进行fix,无需再行
-> Top
类找不到异常
异常信息一般为java.lang.NoClassDefFoundError,原因是类所在的jar文件不在类装载路径上,如log4j的jar文件,常用的解决的办法是将包含该类的jar文件拷贝到APUSIC_HOME/lib目录
-> Top
如何察看访问日志
访问日志在APUSIC_HOME/logs目录中,名字形如access.log.x.默认下,访问日志是关闭的,需要在.APUSIC_HOME/config/apusic.conf中打开http服务中的相关配置.设置EnableLog属性为True。样例如下:
<SERVICE CLASS="com.apusic.servlet.http.WebService" > <ATTRIBUTE NAME="ServerPort" VALUE="80"/> <ATTRIBUTE NAME="MaxWaitingClients" VALUE="500"/> <ATTRIBUTE NAME="WaitingClientTimeout" VALUE="5"/> <ATTRIBUTE NAME="KeepAlive" VALUE="true"/> <ATTRIBUTE NAME="KeepAliveTimeout" VALUE="15"/> <ATTRIBUTE NAME="MaxKeepAliveRequests" VALUE="100"/> <ATTRIBUTE NAME="MaxKeepAliveConnections" VALUE="300"/> <ATTRIBUTE NAME="ServletReloadCheckInterval" VALUE="30"/> <ATTRIBUTE NAME="TemporaryDirectory" VALUE="scratch"/> <ATTRIBUTE NAME="EnableLog" VALUE=“True"/> <ATTRIBUTE NAME="LogFileName" VALUE="logs/access.log"/> <ATTRIBUTE NAME="LogFileLimit" VALUE="1000000"/> <ATTRIBUTE NAME="LogFileCount" VALUE="10"/> </SERVICE>
-> Top
如何分析访问流量
通过工具awstat生成动态访问流量图.如何获得:http://awstats.sourceforge.net/#DOWNLOAD.安装先决条件,安装perl5,从http://www.perl.org/下载
-> Top
如何解决乱码
应用中乱码的产生一般可以通过添加filter解决。Linux/unix下,远程终端窗口显示乱码,可通过重新设置LANG环境变量解决:export LANG=en_US.UTF-8
-> Top
为何端口被占用
Apusic启动时可能需要用的端口为:80 (默认是6888),443 (默认是6887),6889,端口被占用的可能原因:已经启动了一个Apusic实例,未完全关闭80端口或者443端口被其他程序占用,用netstat命令查看
-> Top
端口被占用的异常是什么
java.net.BindException: Address already in use: bind
-> Top