升级,一个时髦而又敏感的话题,我用的firefox现在似乎天天在升级,升完级后发现以前装的插件不见了;刚刚把IE升级到7,今天想让firefox放半天假,在IE7上面好好冲上一把浪,打开一个网页,上面要播放FLASH,IE见状弹出一个错误,说FLASH插件有问题,整个IE关闭然后退出,真是令我好生郁闷——升级并非永远是好事一桩阿。据说Java6的VM优化效果明显,程序在上面那个跑得欢阿,于是有人提议把JBOSS4.0.4GA升级到Java6,一通改环境变量,把JAVA_HOME换成6(我的机器有3个jdk),构建,部署,启动,看着屏幕的字流畅的翻滚着,心里甚为欢欣鼓舞,启动正常,呵呵,mustang,俺来了。试了几个功能,正常,当测试一下登陆的web service时,出错了,控制台翻出了一堆exception:
java 代码
- 09:56:23,115 ERROR [SOAPFaultExceptionHelper] SOAP request exception
- java.lang.UnsupportedOperationException: setProperty must be overridden by all s
- ubclasses of SOAPMessage
- at javax.xml.soap.SOAPMessage.setProperty(SOAPMessage.java:424)
- at org.jboss.ws.soap.SOAPMessageImpl.<init>(SOAPMessageImpl.java:77)
- at org.jboss.ws.soap.MessageFactoryImpl.createMessageInternal(MessageFac
- toryImpl.java:220)
- at org.jboss.ws.soap.MessageFactoryImpl.createMessage(MessageFactoryImpl
- .java:157)
- at org.jboss.ws.server.ServiceEndpoint.handleRequest(ServiceEndpoint.jav
- a:215)
- at org.jboss.ws.server.ServiceEndpointServlet.doPost(ServiceEndpointServ
- let.java:120)
- at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
每次在console看到这些信息敏感的神经都会为之颤动一下,从日志分析来看,不是app的程序错误,而是jboss的web service底层出错了,经过一番分析,错误原因大抵如下:
Jboss的soap实现的是老的javax.xml.soap.SoapMessage接口,这个接口的setProperty方法在老版本是不需要override的,但是到了Java6,由于Java6的jdk本身自带soap包,而自带的这个包的SoapMessage接口对setProperty方法又强制其实现类要override自身,否则抛出异常:
java 代码
- public void setProperty(String property, Object value)
- throws SOAPException {
- throw new UnsupportedOperationException("setProperty must be overridden by all subclasses of SOAPMessage");
- }
那么余下的事情就很清楚了,在Java6下,JBoss的web service在执行时,加载的javax.xml.soap包是Java6的,而不是app中的包,因此发生了异常。
查了下Java6的发布日期,大概是06年的年底发布,而JBOSS最新的版本4.0.5G早在06年10月就正式推出,JBOSS不会傻到去支持Java6了,一查资料,在JBOSS的一个官方网页上终于看到了佐证:
www.jboss.com/index.html, 这个帖子有个网友问JBOSS是不是支持Java6,JBoss的一个兄弟说没有这方面的行为,估计会在JBoss5的第二个版本才会考虑支持。白忙活了,也闹了个笑话,看来需要语重心长地说上一句——
“级,不是这样升的。”
分享到:
相关推荐
1. **Java EE 5支持**:JBoss 4.0.x系列是基于Java EE 5标准的,提供了诸如EJB 3.0、JPA(Java Persistence API)、JSF(JavaServer Faces)、JMS(Java Message Service)等组件的支持,使得开发企业级应用变得更加...
JBoss AS 4.0.4.GA是一款开源的应用服务器,它支持Java EE规范,能够提供强大的企业级服务。本篇文章将详细介绍如何下载与安装JBoss 4.0.4.GA版本,并配置必要的环境变量,以及进行基本的功能验证。 #### 二、下载 ...
在本教程中,我们将深入探讨如何在JBOSS 4.0.4.GA环境下开发和部署ejb2.0的消息驱动Bean。 【描述】: 尽管没有提供具体的描述,但我们可以推断,这篇博客可能涵盖了以下内容:设置JBOSS服务器环境,配置JMS资源,...
JBoss AS 4.2.3.GA(Application Server)是Red Hat公司开发的一款开源Java应用服务器,它基于Java EE(Enterprise Edition)5规范,提供了全面的企业级服务,包括EJB(Enterprise JavaBeans)、JMS(Java Message ...
【JBoss Web 2.1.0.GA 知识点详解】 JBoss Web,全称为JBoss Application Server的Web容器部分,是Red Hat公司开发的一款开源Java Servlet和JavaServer Pages(JSP)容器,它是JBoss应用服务器的重要组成部分。在本...
《JBoss Logging 3.1.0.GA.jar:企业级日志框架解析》 在Java应用程序开发中,日志记录扮演着至关重要的角色,它不仅帮助开发者追踪代码中的问题,还能提供运行时的系统信息和性能分析。JBoss Logging是Red Hat公司...
根据提供的文档内容,我们可以总结出以下关于JBoss 4.0.4环境构成的重要知识点: ### JBoss 4.0.4环境构成概览 **背景介绍:** 文档标题为“JBoss 4.0.4环境构成向导”,描述为“日文版的JBOSS环境构成书”。这份...
JBoss是一款著名的开源Java应用服务器,它提供了许多企业级服务,包括事务管理、安全性和集群功能。在开发过程中,为了提高效率,我们通常希望在不中断应用服务的情况下更新部署的应用程序,这就是所谓的“热部署”...
Java编程中的`java.lang.NoClassDefFoundError: org/jboss/logging/`是一个常见的运行时错误,通常发生在尝试执行一个类时,JVM无法找到在编译时已经存在的类定义。这个错误并不意味着类在编译期间不存在,而是表明...
JBoss AS 5.1.0.GA,全称JavaBoss Application Server,是Red Hat公司开发的一款开源且免费的企业级Java应用服务器,基于Java EE(Enterprise Edition)5规范。这个版本发布于2009年,是JBoss AS 5系列的重要里程碑...
【JBoss 4.2.3.GA】是JBoss Application Server的一个稳定版本,它在2007年发布,提供了全面的企业级Java应用程序部署和支持。这个版本支持J2EE 1.4规范,包括EJB 2.1、JSF 1.1、JPA(Java Persistence API)和Web...
JBoss-4.2.3.GA-jdk6.zip 是一个包含了JBoss应用服务器的版本4.2.3 GA(General Availability),专为Java Development Kit(JDK)6设计的软件包。JBoss是一个开源的企业级Java应用服务器,它遵循Java EE...
赠送jar包:jboss-logging-3.4.1.Final.jar; 赠送原API文档:jboss-logging-3.4.1.Final-javadoc.jar; 赠送源代码:jboss-logging-3.4.1.Final-sources.jar; 赠送Maven依赖信息文件:jboss-logging-3.4.1.Final....
赠送jar包:jboss-logging-3.4.3.Final.jar; 赠送原API文档:jboss-logging-3.4.3.Final-javadoc.jar; 赠送源代码:jboss-logging-3.4.3.Final-sources.jar; 赠送Maven依赖信息文件:jboss-logging-3.4.3.Final....
JBOSS是一款开源的企业级Java应用服务器,基于Java 2企业版(J2EE)规范。JBOSS 4.2.2GA是其一个特定的稳定版本,发布于2007年,提供了一个全面的平台来部署和管理各种Java应用程序和服务。 ### JBOSS简介 JBOSS是...
java jar包,亲测试可用 安全,可以对其进行数字签名,只让能够识别数字签名的用户使用里面的东西。 加快下载速度; 压缩,使文件变小,与ZIP压缩机制完全相同。 包封装。能够让JAR包里面的文件依赖于统一版本的...
JBoss是著名的开源Java应用服务器,它基于Java EE(Enterprise Edition)规范,为开发和部署企业级应用程序提供了全面的框架和服务。JBoss 4.2.2.GA是该平台的一个稳定版本,发布于2007年,包含了对Java EE 5的支持...
此版本在其余地方已经下载不到了哟,但是这个版本还是很好的,jboss-4.2.3.GA,此jboss支持jboss 4.x 开发,jdk需满足5.0及以上的版本,不然会运行出错的,需要的自行下载哈,无解压密码,下载即用
jboss-logging.jar
在没有提供具体的`ejb-jar.xml`和`jboss-ejb3.xml`内容的情况下,我们无法深入分析每个文件的详细配置,但以上已概述了它们在EJB部署中的基本作用和常用配置选项。如果你需要对特定配置进行深入理解,建议查阅官方...