应客户需求,将原来所有跑在TOMCAT下的应用全部迁移到APUSIC下来;涉及10余个WEB应用;现将大致的迁移过程记录如下:
环境:
应用服务器:APUSIC 6.0
DB:ORACLE 10g
OS:IBM AIX
1.原先使用了C3p0作为数据库连接池,迁移到APUSIC上后,需将其替换成APUSIC的连接池;修改CONIFG目录下的datasource.xml配置文件新增数据库连接池,重启APUSIC后:
apusic.JMS.JMSQueue.SYSTEM.DEAD_LETTER] Started.
2010-06-29 16:11:18 INFO [apusic.JMS.JMSQueue.testQueue] Started.
2010-06-29 16:11:18 INFO [apusic.JMS.JMSQueue.testReplyQueue] Started.
2010-06-29 16:11:18 INFO [apusic.JMS.JMSTopic.SYSTEM] Started.
2010-06-29 16:11:18 INFO [apusic.JMS.JMSTopic.SYSTEM.ADMIN_EVENT_TOPIC] Started.
2010-06-29 16:11:18 INFO [apusic.JMS.JMSTopic.testTopic] Started.
2010-06-29 16:11:18 INFO [apusic.JMS.ConnectionFactory.ConnectionFactory] Started.
2010-06-29 16:11:18 INFO [apusic.JMS.ConnectionFactory.SYSTEM.ADMIN_CONNECTION_FACTORY] Started.
2010-06-29 16:11:18 INFO [apusic.service.JMSRegistry] Started.
2010-06-29 16:11:19 INFO [apusic.ejb.mejb.jar.MEJB] EJB home 'ejb/mgmt/MEJB' registered.
2010-06-29 16:11:19 INFO [apusic.application.mejb.jar] Started.
2010-06-29 16:11:21 INFO [apusic.web.webtool.ear./admin] Context Root [/admin]
2010-06-29 16:11:21 INFO [apusic.application.webtool.ear] Started.
2010-06-29 16:11:22 INFO [apusic.web.default./] Context Root [/]
2010-06-29 16:11:22 INFO [apusic.application.default] Started.
2010-06-29 16:11:22 WARNING [apusic.deploy.env] External reference 'jdbc/projndi' of type 'javax.sql.DataSource' not found
2010-06-29 16:11:23 INFO [apusic.web.dyrx./dyrx] Context Root [/dyrx]
2010-06-29 16:11:23 INFO [apusic.application.dyrx] Started.
2010-06-29 16:11:23 INFO [apusic.service.J2EEDeployer] Started.
2010-06-29 16:11:23 INFO [apusic.service.ClassLoaderViewer] Started.
2010-06-29 16:11:23 INFO [apusic.service.JDBCTracer] Started.
2010-06-29 16:11:23 INFO [apusic.service.admin] Started.
2010-06-29 16:11:23 INFO [apusic.server.Main] Server is ready.
日志显示:还是报数据源没找着
需要看下web.xml是否有对DataSource的引用;
查看web.xml代码片段
<resource-ref>
<res-ref-name>jdbc/projndi</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
发现确实有对DataSource做了引用;所以需在META-INF下添加apusic-application.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE apusic-application PUBLIC "-//Apusic//DTD Apusic Application 4.0.2//EN" "http://www.apusic.com/dtds/apusic-application_4_0_2.dtd">
<apusic-application>
<module uri="">
<web>
<context-root>zfoa</context-root>//应用上下文
<resource-ref>
<res-ref-name>jdbc/projndi</res-ref-name>
<jndi-name>jdbc/projndi</jndi-name>
</resource-ref>
</web>
</module>
</apusic-application>
2.WEB.xml下相关的FCKeditor配置;
[apusic.application.qjoa] 启动失败 com.apusic.xml.reader.ScanException: The URL pattern '/common/FCKeditor/editor/filemanager/browser/default/con nectors/jsp/connector ' cannot contains CR(#xD) or LF(#xA) charactersat com.apusic.deploy.runtime.WebModule.validateUrlPattern(Unknown Source ) at com.apusic.deploy.runtime.WebModule$ServletMappingAction.readXml(Unkn own Source) at com.apusic.deploy.runtime.WebModule.readXml(Unknown Source) at com.apusic.deploy.runtime.J2EEModule.loadDeploymentDescriptor(Unknown Source) at com.apusic.deploy.runtime.J2EEModule.load(Unknown Source) at com.apusic.deploy.runtime.WebModule.load(Unknown Source) at com.apusic.deploy.runtime.J2EEApplication.load(Unknown Source) at com.apusic.deploy.runtime.J2EEApplication.startService(Unknown Source ) at com.apusic.service.Service.start(Unknown Source) at com.apusic.deploy.runtime.J2EEDeployer.deploy(Unknown Source) at com.apusic.deploy.runtime.J2EEDeployer.deploy(Unknown Source) at com.apusic.deploy.runtime.J2EEDeployer.deploy(Unknown Source) at com.apusic.deploy.runtime.AutoDeployer.deploy(Unknown Source) at com.apusic.deploy.runtime.AutoDeployer.run(Unknown Source) at java.lang.Thread.run(Thread.java:619)
错误的地方在蓝的 /common/FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector。
WEB.xml下FCKeditor相关的:
<servlet-mapping>
<servlet-name>Connector</servlet-name>
<url-pattern>
/common/FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector
</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>SimpleUploader</servlet-name>
<url-pattern>
/common/FCKeditor/editor/filemanager/upload/simpleuploader
</url-pattern>
</servlet-mapping>
<url-pattern></url-pattern>只能写在一行并排。如下:
<url-pattern>/common/FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector</url-pattern>
改之。暂时启用成功。
3.Struts配置文件下的关于CLASS的大小写;
2010-06-30 15:16:02 信息 [apusic.web.webtool.ear./admin] Context Root [/admin]
2010-06-30 15:16:02 信息 [apusic.application.webtool.ear] 成功启动
2010-06-30 15:16:02 信息 [apusic.web.default./] Context Root [/]
2010-06-30 15:16:02 信息 [apusic.application.default] 成功启动
2010-06-30 15:16:02 信息 [con.out] - Initializing, config='org.apache.struts.util.LocalStrings', returnNull=true
2010-06-30 15:16:02 信息 [con.out] - Initializing, config='org.apache.struts.action.ActionResources', returnNull=true
2010-06-30 15:16:03 信息 [con.out] - Begin event threw exception
java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod(PropertyUtilsBean.java:2065)
at org.apache.commons.beanutils.PropertyUtilsBean.setSimpleProperty(PropertyUtilsBean.java:2051)
at org.apache.commons.beanutils.PropertyUtilsBean.setNestedProperty(PropertyUtilsBean.java:1858)
at org.apache.commons.beanutils.PropertyUtilsBean.setProperty(PropertyUtilsBean.java:1964)
at org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:1019)
at org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:829)
at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:433)
at org.apache.commons.digester.SetPropertiesRule.begin(SetPropertiesRule.java:259)
at org.apache.commons.digester.Rule.begin(Rule.java:200)
at org.apache.commons.digester.Digester.startElement(Digester.java:1273)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501)
at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:179)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.emptyElement(XMLDTDValidator.java:788)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:377)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2747)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
at org.apache.commons.digester.Digester.parse(Digester.java:1548)
at org.apache.struts.action.ActionServlet.parseModuleConfigFile(ActionServlet.java:1006)
at org.apache.struts.action.ActionServlet.initModuleConfig(ActionServlet.java:955)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:470)
at javax.servlet.GenericServlet.init(GenericServlet.java:241)
at com.apusic.web.container.ServletComponent.initializeComponent(Unknown Source)
at com.apusic.web.container.ServletComponent.initializeComponent(Unknown Source)
at com.apusic.web.container.WebComponent.create(Unknown Source)
at com.apusic.web.container.WebComponent.getComponent(Unknown Source)
at com.apusic.web.container.WebComponent.init(Unknown Source)
at com.apusic.web.container.WebContainer.loadServlet(Unknown Source)
at com.apusic.web.container.WebContainer.loadServlet(Unknown Source)
at com.apusic.web.container.WebContainer.loadStartupServlets(Unknown Source)
at com.apusic.web.container.WebContainer.start(Unknown Source)
at com.apusic.web.http.VirtualHost.addContext(Unknown Source)
at com.apusic.web.http.HttpServer.loadWebModule(Unknown Source)
at com.apusic.web.WebService.loadWebModule(Unknown Source)
at com.apusic.deploy.runtime.WebModule.load(Unknown Source)
at com.apusic.deploy.runtime.J2EEApplication.loadModules(Unknown Source)
at com.apusic.deploy.runtime.J2EEApplication.startApplication(Unknown Source)
at com.apusic.deploy.runtime.J2EEApplication.startService(Unknown Source)
at com.apusic.service.Service.start(Unknown Source)
at com.apusic.deploy.runtime.J2EEDeployer.startUserApplications(Unknown Source)
at com.apusic.deploy.runtime.J2EEDeployer.startService(Unknown Source)
at com.apusic.service.Service.start(Unknown Source)
at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.apusic.jmx.MBeanDescriptor.invoke(Unknown Source)
at com.apusic.jmx.DynamicMBeanSupport.invoke(Unknown Source)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
at com.apusic.server.J2EEServer.start(Unknown Source)
at com.apusic.server.J2EEServer.startup(Unknown Source)
at com.apusic.server.Main.main(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: xgxt/form/commanForm (wrong name: xgxt/form/CommanForm)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at com.apusic.util.UCPClassLoader.defineClass(Unknown Source)
at com.apusic.util.UCPClassLoader.access$100(Unknown Source)
at com.apusic.util.UCPClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.apusic.util.UCPClassLoader.findClass(Unknown Source)
at com.apusic.web.container.ReloadableClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at com.apusic.web.container.ReloadableClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(ClassLoader.java:300)
at com.apusic.web.container.ReloadableClassLoader.loadClass(Unknown Source)
at com.apusic.web.container.JSPClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at com.apusic.web.container.CompositeLoaderDelegate.loadClass(Unknown Source)
at com.apusic.web.container.ServletClassLoader.loadClass(Unknown Source)
at org.apache.struts.config.FormBeanConfig.formBeanClass(FormBeanConfig.java:320)
at org.apache.struts.config.FormBeanConfig.setType(FormBeanConfig.java:191)
... 61 more
2010-06-30 15:16:03 信息 [con.out] - Parsing error processing resource path /WEB-INF/sztz-struts-config.xml, /WEB-INF/sxjy-struts-config.xml,/WEB-INF/gygl-struts-config.xml, /WEB-INF/wjcf-struts-config.xml,/WEB-INF/yxgl.xml,/WEB-INF/wjsc-struts-config.xml, /WEB-INF/jxgl.xml,/WEB-INF/lrh_commen_util.xml, /WEB-INF/zbdx/xszzstruts.xml, /WEB-INF/zbdx/nullFormStruts.xml, /WEB-INF/shgc/xszzstruts.xml, /WEB-INF/shgc/nullFormStruts.xml, /WEB-INF/bjlhdx/xszzstruts.xml,/WEB-INF/qgzx-config.xml, /WEB-INF/hzzyjsxy/xszzstruts.xml,/pjpy/jcxy/pjpy.xml, /WEB-INF/xszz-jcxy.xml, /WEB-INF/wjcf/wjcf_jcxy_dispatch.xml,/WEB-INF/wjcf/wjcf_jcxy.xml
java.lang.reflect.InvocationTargetException
at org.apache.commons.digester.Digester.createSAXException(Digester.java:2540)
at org.apache.commons.digester.Digester.createSAXException(Digester.java:2566)
一看错误是在Caused by: java.lang.NoClassDefFoundError: xgxt/form/commanForm (wrong name: xgxt/form/CommanForm)
有可能是项目中有大小的问题;用total commander工具首先查找CommanForm.class;发现存在;那估计是有地方把他写成commanForm了;所以马上查找xgxt/form/commanForm结果发现是xgxt\WEB-INF\jygl.xml下有
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts-config (View Source for full doctype...)>
- <struts-config>
- <form-beans>
<form-bean name="commanForm" type="xgxt.form.commanForm" />
<form-bean name="jyglForm" type="xgxt.base.form.JyglForm" />
<form-bean name="xxxForm" type="xgxt.base.form.XxxForm" />
………………………………
将type="xgxt.form.commanForm" />修改成type="xgxt.form.CommanForm" />
重启发现问题解决;
有可能是原先TOMCAT下对此大小写不敏感;
至此全部的应用迁移成功
分享到:
相关推荐
在实际应用场景中,Apusic SOA解决方案可以应用于多种场景,例如保险业的Rate-Quote-Issue流程,或者将遗留应用、现有基础设施、包装应用程序、外包服务等IT资源转化为可提供服务的组件,满足不同角色和终端用户的...
金蝶中间件(Apusic)--license
金蝶中间件Apusic-plugins.zip是一个包含了一系列与金蝶Apusic中间件相关的开发插件的压缩包,主要用于帮助开发者在Eclipse或MyEclipse环境中进行应用程序的调试和开发。Apusic中间件是金蝶公司推出的一款企业级应用...
在Apusic AS(一个基于Java的企业级应用服务器)中,调用commons-logging进行日志处理是一个重要的实践。本篇将深入探讨Apusic AS如何利用commons-logging来实现日志功能,以及相关知识点。 首先,理解commons-...
金蝶Apusic应用服务器是企业级的中间件产品,主要用于构建和运行复杂的企业应用程序。它提供了稳定、高效、安全的运行环境,适用于分布式系统,并具备良好的可扩展性和伸缩性。Apusic V10版本进一步优化了这些特性,...
金蝶Apusic应用服务器V10企业版是金蝶公司推出的一款强大且高效的企业级中间件产品,主要用于构建和运行企业级的Web应用程序和服务。该版本的用户手册、技术白皮书以及调优手册提供了全面的技术指导和优化策略,帮助...
3. **登录Apusic控制台检查部署的应用,除EAS、EASWeb、fileserver、jportal等已知应用外,是否有其他未知应用部署。** **注意事项:** - 对于发现的可疑文件或应用,应及时进行隔离或删除,并进一步调查来源。 ##...
金蝶Apusic应用服务器6.0是一款标准、安全、高效、集成并且具有丰富功能的企业级应用服务器(Enterprise Application Server),它用于实现基于SOA的企业应用和服务,为企业应用和服务提供坚不可摧的基础架构支撑。...
### 使用JProfiler监控Apusic应用服务器:深度解析与实践指南 #### 引言与背景 在IT运维与软件开发领域,性能监控与优化是确保应用高效稳定运行的关键环节。Apusic应用服务器作为企业级Java应用的承载平台,其性能...
【Apusic SQLServer调优记录】的详细说明 在应对并发压力大、遭受网络攻击以及数据库压力大的情况下,对HP-UX + JDK + Apusic + SQL Server环境进行调优至关重要。在这种环境中,系统需要处理3000至8000并发连接,...
金蝶Apusic应用服务器的详细文档,包括安装、管理、开发等内容。
该攻略主要用于在apusic文件中配置数据库连接,以便在应用程序中使用数据库资源。 1. 配置数据源 在apusic文件中,配置数据源是实现数据库连接的第一步。数据源的配置包括两个部分:JNDI名称和驱动程序类名称。在...
这一步通常是在应用级别的配置文件中完成的,例如`META-INF/apusic-application.xml`。在这个文件中,使用`resource-ref`元素将资源引用名称与数据源的JNDI名称关联起来。 ```xml <resource-ref> <res-ref-name>...
2. **解压安装包**:执行`unzip ./Apusic-AS-6.0-OS-Independent_sp1-100903.zip –d /opt/Apusic6.0/`,解压至指定目录。 3. **赋予目录权限**:使用`chmod -R 777 Apusic6.0/`命令赋予目录执行权限。 4. **配置...
9. LogFileName:相对于 Apusic 应用服务器安装目录的路径及日志记录文件名字。缺省值为 logs/access.log。 10. LogFileLimit:指定对每个日志文件可输出的最大近似大小(单位为字节)。如值为零,则文件可接受的...
而金蝶中间件Apusic的插件则增强了MyEclipse的功能,特别是在企业级应用开发领域,提供了对金蝶Apusic应用服务器的无缝集成。 金蝶Apusic是金蝶公司推出的一系列中间件产品,包括应用服务器、消息中间件、事务处理...
通过安装金蝶中间件Apusic插件,开发者可以在Eclipse或MyEclipse中直接配置、管理和测试Apusic应用服务器上的应用,简化了开发流程,提高了开发效率。 压缩包中的四个文件分别对应不同的使用场景: 1. **AASv9-...