常见J2EE应用问题分析与解决V.ppt

上传人:sh****n 文档编号:7455976 上传时间:2020-03-21 格式:PPT 页数:50 大小:1.27MB
返回 下载 相关 举报
常见J2EE应用问题分析与解决V.ppt_第1页
第1页 / 共50页
常见J2EE应用问题分析与解决V.ppt_第2页
第2页 / 共50页
常见J2EE应用问题分析与解决V.ppt_第3页
第3页 / 共50页
点击查看更多>>
资源描述
常见J2EE应用问题分析与解决 演讲人 时间 2020 3 21 KingdeeMiddleware2007 6 11 常见J2EE应用问题分析与解决 常见安装问题常见部署问题常见运行问题 提纲 KingdeeMiddleware2007 6 11 Apusic4 0支持的JDK版本是多少 Apusic4 0支持JDK1 4 2以上及JDK1 5 JDK1 6 KingdeeMiddleware2007 6 11 ApusicLicense如何申请 第1步 用浏览器的打开以下页面 KingdeeMiddleware2007 6 11 ApusicLicense如何申请 KingdeeMiddleware2007 6 11 ApusicLicense如何使用 第1步 将license文件保存至以下目录 APUSIC HOME config 文件名定义为 license 没有后缀 第2步 重新启动Apusic license生效 KingdeeMiddleware2007 6 11 ApusicLicense如何判定生效 Apusic4 0 1以前版本 启动一开始出现以下类似 Apusic4 1build109 licensedcopy 提示 KingdeeMiddleware2007 6 11 ApusicLicense如何判定生效 续 Apusic4 0 1以后版本 KingdeeMiddleware2007 6 11 机器两个CPU购买一个CPU可以吗 不可以 会有并发限制 KingdeeMiddleware2007 6 11 为什么安装失败 可能的原因 未安装JDKWindows下安装自解压失败空间不够 KingdeeMiddleware2007 6 11 是否支持中文安装目录 支持 但不建议使用 因为 应用中可能有部分业务功能跟安装目录有关 解析中文可能导致问题 KingdeeMiddleware2007 6 11 安装后是否需要重启机器 不需要重启 KingdeeMiddleware2007 6 11 如何设置环境变量 Windows下 通过set命令 如 setJAVA HOME d java jdk1 5 0Linux unix下 一般通过export命令 如 exportJAVA HOME usr java jdk1 5 0建议 安装后将与Apusic相关的环境变量设置命令写入到setenv cmd或者setenv sh linux unix KingdeeMiddleware2007 6 11 如何检查环境变量 Windows下 用set命令Linux unix下 用env命令有关环境变量也有可能在可执行文件中进行设置需要注意的几个环境变量JAVA HOMEAPUSIC HOMEpathclasspath KingdeeMiddleware2007 6 11 为什么License加入后没有生效 如果ApusicLicense没有生效 启动不会出现类似以下字样 Apusic4 0build109 licensedcopy 这时Apusic没有检测到有效的License文件 可以依据以下方法来分析 先确定License是不是有效的 例如申请License时用的IP和真实环境中的IP地址不一致 License无效 License的文件名和位置是否正确 ApusicLicense文件名没有任何后缀 文件名为 license license文件所在位置是 APUSIC HOME config 目录下 KingdeeMiddleware2007 6 11 如何升级 备份安装目录下以下目录中的所有文件libconfig 特别是license文件 binlogsStores快速升级更新 替换lib目录中的apusic jar mejb jar和razor jar如有需要更新config目录下的license文件 KingdeeMiddleware2007 6 11 常见J2EE应用问题分析与解决 常见安装问题常见部署问题常见运行问题 提纲 KingdeeMiddleware2007 6 11 Apusic远程管理 WebAdmin 地址是什么 https your host name 6889 admin 其中 your host name指目标服务器所在的IP地址 KingdeeMiddleware2007 6 11 默认用户与密码是什么 用户 admin密码 admin KingdeeMiddleware2007 6 11 Apusic默认的访问端口是 6888 Apusic默认的访问端口是多少 KingdeeMiddleware2007 6 11 有两中方法 方法1 编辑APUSIC HOME config apusic conf 将6888替换为80 如何将默认的6888端口换为80口 KingdeeMiddleware2007 6 11 方法2 通过管理控制台 在管理界面上找到相应的配置页面并更改6888为80 注意两种方法修改后都需要重新启动Apusic才能生效 如何将默认的6888端口换为80口 续 KingdeeMiddleware2007 6 11 有两中方法 方法1 编辑APUSIC HOME config datasources xml文件 部分数据库数据源的设置参考 在Apusic中如何设置数据源 max spare connections 30 idle timeout 300 admin KingdeeMiddleware2007 6 11 方法2 访问管理控制台 在数据源的配置页面配置相关参考即可 在Apusic中如何设置数据源 续 KingdeeMiddleware2007 6 11 数据库连接池JNDI名错误 JNDI名配置错误或者未配置好数据库源将导致以下异常 javax naming NameNotFoundException与此相关的常见错误是JDBC驱动不在类路径上 将导致以下异常 classnotfound KingdeeMiddleware2007 6 11 报java lang UnsupportedClassVersionError错误是什么原因 如果编译应用中的JDK 比Apusic运行环境的中JDK版本更高 就会出现java lang UnsupportedClassVersionError 或者类似 版本号带小数的 49 0 太新 此工具无法理解 的错误提示 例如编译应用采用JDK1 5 而Apusic的运行环境采用JDK1 4 另外 JSP运行期需要javac编译包 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目录Apusic5 0将彻底进行fix 无需再行担忧 JDK版本不一致错误 KingdeeMiddleware2007 6 11 为何读取XML文件异常 XML文档是编码敏感的 包括其中一些非可见字符 如果使用编辑器不当 在编辑或保存过程中引入不可见字符 将导致读取XML文件异常 KingdeeMiddleware2007 6 11 如何正确处理XML编码 XML头通过encoding属性指定编码 如如需要进行编辑 最好使用notepad 在另存时选择保存文件的编码 对应于XML头的encoding设定 KingdeeMiddleware2007 6 11 如何更换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 KingdeeMiddleware2007 6 11 为何部署失败 部署失败的可能原因 虚拟路径名重复 可以部署多个应用 不同的应用通过不同的虚拟路径进行访问 因此虚拟路径不允许重复 配置文件有误类装载有错误类找不到格式有误访问数据库异常 有些应用在装载阶段进行访问数据库 KingdeeMiddleware2007 6 11 常见J2EE应用问题分析与解决 常见安装问题常见部署问题常见运行问题 提纲 KingdeeMiddleware2007 6 11 没有找到JDK环境的异常 E apusic apusic 4 0 3 bin startapusicTheJAVA HOMEenvironmentvariableisnotdefinedThisenvironmentvariableisneededtorunthisprogram 解决办法 找回JAVA HOME KingdeeMiddleware2007 6 11 类无法装载问题 2006 03 2914 09 54错误 apusic webapp rloa rloa 执行Servlet时发生错误 java lang NoClassDefFoundError oracle jdbc driver OraclePreparedStatementatcom apusic servlet http Context processRequest UnknownSource atcom apusic servlet http VirtualHost processRequest UnknownSource atcom apusic servlet http HttpServer processRequest UnknownSource atcom apusic servlet http HttpConnectionHandler service UnknownSource atcom apusic servlet http ConnectionHandler processRequest UnknownSource atcom apusic servlet http ConnectionHandler processConnection UnknownSource atcom apusic servlet http ConnectionHandler run UnknownSource atcom apusic util ThreadPoolImpl WorkerThread run UnknownSource KingdeeMiddleware2007 6 11 出现这类问题有多种情况 第一种情况 类本身不存在 在运行环境中加入相关类即可解决这个问题 如果上面的错误是这种情况 解决办法 将Oracle的驱动包加入到WEB INF lib 目录下 第二种情况 类的冲突 解决办法 保留最新的一个类 或者将最新的类的拷贝到Apusic环境下 例如我们经常遇到的有关log4j的加载问题就是这样 类无法装载问题 续 KingdeeMiddleware2007 6 11 端口占用 导致 启动失败 端口被占用的异常是 BindException Addressalreadyinuse bind KingdeeMiddleware2007 6 11 Apusic启动时可能需要用的端口为 80 默认是6888 443 默认是6887 6889端口被其它程序占用 或者上一次启动的Apusic进程没有退出都会出这类问题 用netstat命令查看解决办法 修改其它程序或Apusic的端口 重新启动 杀掉Apusic上次启动遗留的进程 端口占用 导致 启动失败 续 KingdeeMiddleware2007 6 11 如何察看运行日志 系统及应用日志保存在APUSIC HOME logs目录中日志以循环写的方式进行记录 可以通过APUSIC HOME config logging xml进行设置日志文件的大小与数量 KingdeeMiddleware2007 6 11 数据库连接失败 JNDI名找不到 2002 06 2301 56 45信息 com titansoft j2ee oa sm log dao LogDao 数据源连接有误 2002 06 2301 56 45信息 con err javax naming NameNotFoundException java comp env jdbc titanoa remainingname jdbc titanoa 2002 06 2301 56 45信息 con err mon serviceLocator ServiceLocator getDataSource ServiceLocator java 112 2002 06 2301 56 45信息 con err mon dao DaoBase DaoBase java 85 2002 06 2301 56 45信息 con err mon dao DaoBase DaoBase java 67 2002 06 2301 56 45信息 con err atcom titansoft j2ee oa sm log dao LogDao LogDao java 51 KingdeeMiddleware2007 6 11 数据库连接失败 无法找到数据库驱动 2002 06 23 2006 03 2914 09 54错误 apusic webapp rloa rloa 执行Servlet时发生错误 java lang NoClassDefFoundError oracle jdbc driver OraclePreparedStatementatcom apusic servlet http Context processRequest UnknownSource atcom apusic servlet http VirtualHost processRequest UnknownSource atcom apusic servlet http HttpServer processRequest UnknownSource atcom apusic servlet http HttpConnectionHandler service UnknownSource atcom apusic servlet http ConnectionHandler processRequest UnknownSource atcom apusic servlet http ConnectionHandler processConnection UnknownSource atcom apusic servlet http ConnectionHandler run UnknownSource atcom apusic util ThreadPoolImpl WorkerThread run UnknownSource KingdeeMiddleware2007 6 11 JNDI本身名字不对 重新配置JNDI名 在这里JDNI名为 jdbc titanoa 有时也报类似以下错误 数据库连接失败 JNDI名找不到 续 2006 03 2917 12 26信息 con err java sql SQLException JTurbo3 0 1JDBC2 1Driver CommunicationLinkFailure kingdee xjw2006 03 2917 12 26信息 con err atcom newatlanta jturbo driver Driver a Driver java 2006 03 2917 12 26信息 con err atcom newatlanta jturbo driver Driver connect Driver java 2006 03 2917 12 26信息 con err atjava sql DriverManager getConnection UnknownSource 2006 03 2917 12 26信息 con err atjava sql DriverManager getConnection UnknownSource 2006 03 2917 12 26信息 con err atcom ruili util db DAO getWFConnection DAO java 186 KingdeeMiddleware2007 6 11 将数据库驱动包的路径加入到数据源的配置文件中APUSIC HOME config database xml 如 数据库连接失败 无法找到数据库驱动 续 或者将数据库驱动包加入到APUSIC HOME lib 目录下 datasource driver classpath E jdbc db2java zip KingdeeMiddleware2007 6 11 数据库连接失败 数据库用户名或密码不对 2006 03 2917 20 34信息 con err java sql SQLException 用户 sa 登录失败 2006 03 2917 20 34信息 con err atcom newatlanta jturbo driver q b q java 2006 03 2917 20 34信息 con err atcom newatlanta jturbo tds e e java 2006 03 2917 20 34信息 con err atcom newatlanta jturbo driver a a java 2006 03 2917 20 34信息 con err atcom newatlanta jturbo driver Driver a Driver java 2006 03 2917 20 34信息 con err atcom newatlanta jturbo driver Driver a Driver java 2006 03 2917 20 34信息 con err atcom newatlanta jturbo driver Driver connect Driver java 2006 03 2917 20 34信息 con err atjava sql DriverManager getConnection UnknownSource 2006 03 2917 20 34信息 con err atjava sql DriverManager getConnection UnknownSource 2006 03 2917 20 34信息 con err atcom ruili util db DAO getWFConnection DAO java 186 KingdeeMiddleware2007 6 11 调整数据库的用户名和密码的配置 数据库连接失败 数据库用户名或密码不对 续 KingdeeMiddleware2007 6 11 虚拟目录已经存在 Causedby java lang IllegalArgumentException 虚拟目录 TitansDigiTalWebFs 已经存在 atcom apusic servlet http VirtualHost addContext UnknownSource atcom apusic servlet http HttpServer loadWebModule UnknownSource atcom apusic servlet http WebService loadWebModule UnknownSource KingdeeMiddleware2007 6 11 重复部署虚拟目录相同的应用 当前部署的虚拟目录已经存在 如上述的 TitansDigiTalWebFs 解决解决办法 修改虚拟目录名称 配置文件为META INF apusic application xml 虚拟目录已经存在 续 TitansDigiTalWebFs KingdeeMiddleware2007 6 11 内存溢出如何处理 2006 03 2315 06 08错误 apusic webapp mcasv mcasv 执行Servlet时发生错误 java lang OutOfMemoryError KingdeeMiddleware2007 6 11 Java虚拟机不能给一个对象分配足够的内存 而垃圾回收器又不能提供更多的活动内存时抛出java lang OutOfMemoryError异常 后果 应用服务器崩溃 内存溢出如何处理 续 KingdeeMiddleware2007 6 11 可能的原因 内存溢出如何处理 续 资源没有及时释放 比如没有正确的关闭连接 处理大对象 譬如你定义一个容器类对象vector 不断的往里面存储东西 而每次存储完毕后 虚拟机又没有来得及进行垃圾回收 于是就出现了这个错误 java本身的GC功能不一定那么及时hibernate默认自动对对象进行缓存 把数据都装载内存里 用了很多collection之类的对象操作 而这种东西jvm不容易释放 KingdeeMiddleware2007 6 11 内存溢出如何处理 续 解决办法 优化程序 最根本的方法 改变算法 优化功能 提高程序效率 处理大对象的时候 用trycatch把它包起来 当发现对象过大的时候就抓住异常 并且把这个对象设成空 对于hibernate缓存 可以适当去掉缓存功能 加大虚拟机内存 Xms128m Xmx512m 重新启动应用服务器 谢谢
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!