关于Spring和WebLogic版本兼容的一点小提示

首先 WebLogic 的各个版本和 JDK 绑定的很紧, 或者说是专门针对某个 JDK 优化过的代码, 因此, WebLogic 不是说随意修改启动 JDK 都能运行, 高了和低了都不能启动, 举个例子:
WebLogic 8 支持 JDK 1.4, 那么用 JDK 1.5 或者 JDK 1.3 都不能正常启动, 这一点和 Tomcat 是很不一样的.
为 什么要扯这个话题呢? 是因为 Spring 的各个版本也对 JDK 略有限制, 并非各个版本的 Spring 都可以在 WebLogic 上正常运行. 有很多同志还在用 WebLogic 8( JDK 1.4), 那么提醒大家, 现在最新的很多开源框架都是不支持或者不直接支持 JDK 1.4 了, 大部分都需要 JDK 1.5 以上版本, 例如 Spring 2.5, Struts 2(Struts 2 需要一个特殊的包才能跑在 JDK 1.4 上), 至于 JPA, 大家根本不要想它能在 WebLogic 8 上跑, 因为 JPA 依赖于 Java 5 的注解.
建议用最新版的 WebLogic 来开发项目, 这样BUG和问题都会少的多.
请参考文末的 Spring 文档的说明: http://docs.huihoo.com/spring/2.5.x/zh-cn/new-in-2.html
Java SE 与 Java EE 支持
Spring Framework继续保持与所有Java版本的兼容性 - 从Java 1.4.2开始(包括1.4.2)。这意味着spring对Java1.4.2,Java 5和 Java 6都支持, 但是Spring Framework的一些高级功能无法在1.4.2中使用。从Spring 2.5起,Spring框架完全支持Java 6,而Spring 2.0则对Java 5支持比较好。
此外,Spring延续了对J2EE 1.3及更高版本的兼容性,同时对Java EE 5提供完全支持。也就是说,Spring可以继续在应用服务器中运行,包括 BEA WebLogic 8.1, 9.0, 9.2 和 10, IBM WebSphere 5.1, 6.0 和 6.1, Oracle OC4J 10.1.3 和 11, JBoss 3.2, 4.0 和 4.2, 以及 Tomcat 4.1, 5.0, 5.5 和 6.0, Jetty 4.2, 5.1 和 6.1, Resin 2.1, 3.0 和 3.1 还有 GlassFish V1 和 V2.

 

 

另外 edoc 上也描述了 WebLogic 9 中运行 Spring 可能出现的问题, 地址:
http://edocs.weblogicfans.net/wl ... esolved.html#spring
建议大家没事多阅读 edoc...
WebLogic Server 上的 Spring Framework
WebLogic Server 上的 Spring Framework

更改请求编号
描述和变通方法或解决方案
找到位置
解决位置

CR242675
在 RMI 类加载器中发生了 NullPointerException。
变通方法或解决方案
请与 BEA 客户支持联系以获取 WebLogic Server/Spring 合并修补程序。
9.0
9.2

CR236708
在 Hibernate 3 和 WebLogic Server 之间存在 Antlr 冲突。
变通方法或解决方案
将 Antlr2.7.5.jar 放在 CLASSPATH 中的 weblogic.jar 之前。
8.1SP05、9.0
9.2

CR242923
T3 运行时无法对包含基元类型的类描述符进行解码。
变通方法或解决方案
请与 BEA 客户支持联系以获取 WebLogic Server-Spring 合并修补程序。
9.0
9.2

CR242883
IIOP 运行时无法对包含基元类型的类描述符进行解码。
变通方法或解决方案
请与 BEA 客户支持联系以获取 WebLogic Server-Spring 合并修补程序。
9.0
9.2

CR237532
Spring Framework 存在 Web 应用程序类加载问题。
变通方法或解决方案
请与 BEA 客户支持联系以获取 WebLogic Server-Spring 合并修补程序。
8.1SP05、9.0
9.2

CR241195
在 Spring Pet Clinic 示例应用程序中更新记录会导致以下错误:
java.lang.IllegalStateException: Cannot access session scope since the
requested page does not participate in a session. at
weblogic.servlet.jsp.PageContextImpl.getAttribute(PageContextImpl.java:273)
at javax.servlet.jsp.jstl.core.Config.get(Config.java:145) at
javax.servlet.jsp.jstl.core.Config.find(Config.java:393) at
org.apache.taglibs.standard.tag.common.fmt.TimeZoneSupport.getTimeZone(TimeZoneSupport.java:140)
变通方法或解决方案
将 includes.jsp 文件中的第一行标记为注释。
9.0
9.2

CR244683
HP-UX 需要 jdk150_01,而不是 jdk150_03。
变通方法或解决方案
在 medrec-spring 目录中,使用 jdk150_01 替换 jdk150_03。
9.0
9.2

CR244693
当您从远程计算机上访问 MedRec-Spring 时,MedRec-Spring 退出功能不起作用。
变通方法或解决方案
不从远程计算机访问 MedRec-Spring 应用程序,并且不将 localhost 用于请求重定向。
9.0
9.2

CR244691
对 WebLogic 管理控制台的 Spring 扩展仅支持 Web 应用程序 (.war) 文件,无法用于监视非 .war 文件(如 MedRec-Spring)中的 Spring Bean。
9.0
9.2

CR243957
使用 CTRL-C 关闭 WebLogic Server 时,如果正在破坏 bean domainMBeanServerConnection,则可能会发生关闭异常。
变通方法或解决方案
使用标志 -Dweblogic.slc=true 以便确定启动和停止 domainRuntimeServerService 的时间。
9.0
9.2

CR280985
无 法通过将 countries_mbeans.war 应用程序复制到 WebLogic Server 域目录的 autodeploy 目录来自动部署该应用程序。countries_mbeans.war Web 应用程序是一个 Spring 测试扩展应用程序。
变通方法或解决方案
使用 WebLogic Server 管理控制台来部署 countries_mbeans.war Web 应用程序,而不是自动部署。
9.2

CR301115
在 Spring Pet Clinic 示例应用程序中运行单元测试会导致以下错误:
从 weblogic.xml.jaxp.RegistrySAXTransformerFactory 中找不到有效的处理器版本实现
变通方法或解决方案:
通过将以下条目添加到 $java.home/lib/jaxp.properties 文件来定义 XML 解析器类:

  • javax.xml.transform.TransformerFactory=org.apache.xalan.processor.TransformerFactoryImpl
  • javax.xml.xpath.XPathFactory=org.apache.xpath.jaxp.XPathFactoryImpl
  • javax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl
  • javax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl


9.2

CR300748
访问部署到 WebLogic Server 9.2 的 tiles-samples 时会出现异常。
9.2

你可能感兴趣的:(j2ee)