jboss 配置 jboss下载 jboss tomcat
初次使用EJB+JMS开辟项目,将其放到JBoss部署时,经常遇到一些错误和异常。有时在JBoss部署后启动不了,有时候虽然JBoss部署后能启动,但启动过程中发生一些异常。有时候,使用lookup查找远程EJB组件时报错,或者找不到。
现在将初次使用EJB3时遇到的一些错误和异常,以及错误出现的原因和解决方法记录下来,以便以后再次遇到时可以方便查找原因。同时也让其他想将EJB3放到Jboss部署,从中遇到同样问题的捏友们能方便找到错误的原因。在以后使用EJB3的开辟过程中,再遇到其他的问题,我会一并记录到这里。
下面仙列举几个问题:
(一) 调用EJB远程接口的客户端使用 lookup方法出现异常:
1. 异常信息:java.lang.ClassCastException: javax.naming.Reference cannot be cast to ………太长了后面省略。
问题原因:
Jboss目录下有个Client文件夹,下面有一些jar文件是给EJB的远程调用者准背的,这下面的jar文件应该放到我们的调用EJB的程序的classpath中。如果是开辟阶段,拷贝到工程里就行了。JBoss4和Jboss5略有不同,Jboss4下有忆■叫做jbossall-client的jar文件,这个jar中包含了所有客户端需要的class。JBoss5也有这个文件,可是体积相当小,因为里面没有实际的class,我们需要的class分散在其他的jar中。因此使用JBoss4只需要拷贝jbossall-client即可,使用JBoss5则需要拷贝Client下所有的jar。
2. 异常信息:javax.naming.CommunicationException [Root exception is java.io.InvalidClassException: org.jboss.ejb3.stateless.StatelessRemoteProxy; local class incompatible: stream classdesc serialVersionUID = 3 local class serialVersionUID = -
问题原因:
调用EJB的客户端所使用的JbossClient的类与实际工程部署的JBoss服务器版本不同引起的。我们开辟EJB项目时,可能用到的服务器时jboss4,可是开辟完成后部署到了Jboss5上,客户端使用的确是Jboss4的jbossall-client.jar,因此就引起了serialVersionUID不一致的错误。
3. 异常信息:javax.naming.NamingException
问题原因:
因为客户端按照ejb的JNDI名称远程查找时,没有找到对应名称的EJB组件。通常我们lookup时用的ejb名称是这样的 ejbname/remote,可是有时候我们用这样的名字来lookup组件时却找不到。其实在Jboss下发布EJB组件根据你发布的方式不同你的EJB组件的名字是不同的。
当你用ear形式发布工程时你的EJB名称需要带有工程名,像这样:氦程名/ejbname/remote的形式。
当你用jar形式发布工程时,EJB查找名是不需要带有工程名做前缀的。只要:ejbname/remote 这一部分即可。
(二)JBoss启动报错
1. 异常信息:Caused by: org.hibernate.MappingException: Could not determine type for: java.util.List
问题原因:
实体类注解标注的位置有误,要么写在属性上,要么写在getter上,不能混合使用。
(三) JMS在JBoss部署和调用时,JBoss发生的异常错误
1.JBoss启动时报错,异常信息:for messagingType 'javax.jms.MessageListener ' not found in activation config [ActivationConfigProperty………….name='jms-ra.rar'
问题原因:
引起该异常的原因是因为音讯接收类上杀少注解缺少@ActivationConfigProperty(propertyName = "destination" propertyValue = "queue/OECPLoggerListener")
2.JBoss启动报错,异常信息:
Unable to reconnect org.jboss.resource.adapter.jms.inflow.JmsActivatio nSpec
.........
WARN [JmsActivation] Failure in jms activation org.jboss.resource.adapter.jms.inflow.JmsActivatio nSpec
javax.naming.NameNotFoundException: OECPLoggerListener not bound
at org.jnp.server.NamingServer.getBinding(NamingServe r.java:771)
………
问题原因:
jboss下缺少服务配置文件,在jboss_home/server/default/deploy/目录下,添加忆■名称为xxx-service.xml的文件,内容类似下面:
queue/accpQueue
jboss.mq:service=DestinationManager
topic/accpTopic
jboss.mq:service=DestinationManager
用来描述音讯监听的JNDI音讯类型等信息。
3. JMS服务配置完成后,部署好的Jboss能正常启动,调试代码,音讯发送也正常没有异常,但是却收不到音讯
可能原因1:
发送器代码中可能没有调用session.commit()方法。有些EJB的教材上没有写这一行,导致我们照着它来学习的时候也不知道还需要commit。Commit以后音讯才能真正的发送出去。
可能原因2:
接收器上增加了过滤音讯的注解@ActivationConfigProperty(propertyName = "messageSelector" propertyValue = "MessageFormat = 'Version 3.4'") 去掉这个注解就可以接收到音讯了。
以上内容是我在将EJB3+JMS在Jboss部署上遇到的异常,同时也将个人的解决方法进行的陈述,希望可以帮助遇到同样问题的捏友,如果大家觉得有疑问,欢迎大家到 我的正式博客 上留下宝贵的留言进行相关讨论,谢谢!
本文(EJB+JMS部署到Jboss出现异常的解决方法)转载自百洋软件研究实验室
分享到:
相关推荐
JavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-...
2010-06-15-JBoss-AS-Deploying-WARs-with-the-DeploymentFileRepository-MBean.pdf
java.lang.NoSuchMethodError: org.jboss.logging.Logger.getMessageLogger(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object; 错误解决办法
cas-client-integration-jboss-3.2.0.jar
JavaEE源代码 jboss-jmxJavaEE源代码 jboss-jmxJavaEE源代码 jboss-jmxJavaEE源代码 jboss-jmxJavaEE源代码 jboss-jmxJavaEE源代码 jboss-jmxJavaEE源代码 jboss-jmxJavaEE源代码 jboss-jmxJavaEE源代码 jboss-...
JavaEE源代码 jboss-cacheJavaEE源代码 jboss-cacheJavaEE源代码 jboss-cacheJavaEE源代码 jboss-cacheJavaEE源代码 jboss-cacheJavaEE源代码 jboss-cacheJavaEE源代码 jboss-cacheJavaEE源代码 jboss-cacheJavaEE源...
JavaEE源代码 jboss-systemJavaEE源代码 jboss-systemJavaEE源代码 jboss-systemJavaEE源代码 jboss-systemJavaEE源代码 jboss-systemJavaEE源代码 jboss-systemJavaEE源代码 jboss-systemJavaEE源代码 jboss-...
- 在后续操作中,我们将使用`<installation-dir>/jboss-5.1.0.GA`来表示JBOSS_HOME。 3. **启动JBoss AS 5服务器**: - 打开命令行终端,进入`$JBOSS_HOME/bin`目录。 - 对于Unix系统,执行命令`./run.sh`。 - ...
【JBoss EAP 7.2.0:企业级应用平台详解】 JBoss EAP(Enterprise Application Platform)是Red Hat公司推出的一款开源、基于Java EE(现在称为Jakarta EE)的应用服务器,它为企业级应用程序提供了稳定、安全和可...
* 检查Jboss应用服务器的日志文件,以便了解错误的详细信息。 * 检查应用程序的配置文件,例如application.xml文件,确保所有的配置正确。 * 尝试重新部署应用程序,以便让Jboss重新加载配置文件。 结论 Jboss启动...
赠送Maven依赖信息文件:jboss-annotations-api_1.3_spec-2.0.1.Final.pom; 包含翻译后的API文档:jboss-annotations-api_1.3_spec-2.0.1.Final-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org....
总而言之,`spring-webmvc.jar`是构建基于Spring的Web应用的关键,而`jboss-logging.jar`和`jboss-logging-annotations.jar`则为日志管理提供了便利。理解这些jar包的功能和用法,能够帮助开发者更高效地开发和维护...
在使用"jboss-4.0.5.GA.zip"这个压缩包时,用户需要先将其解压,然后按照官方文档或者社区教程进行配置,包括但不限于设置环境变量、配置服务器端口、部署应用程序等步骤。在开发和部署过程中,理解并掌握上述知识点...
### JAVA-SERVLET-+-MYSQL-+-JBOSS-开发起步 #### 一、Java Servlet、Jboss、Mysql、Eclipse 开发介绍 在现代Web应用开发领域中,Java Servlet技术结合MySQL数据库以及JBoss应用服务器是构建企业级应用的常见组合...
赠送Maven依赖信息文件:jboss-threads-3.1.0.Final.pom; 包含翻译后的API文档:jboss-threads-3.1.0.Final-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.jboss.threads:jboss-threads:3.1.0.Final; 标签:...
- **JNDI命名**:在`$JBOSS_HOME/server/$PROFILE/conf/jboss-service.xml`和`$JBOSS_HOME/server/$PROFILE/deploy/jboss-service.xml`中配置JNDI命名服务。 - **数据库连接**:通过`$JBOSS_HOME/server/$PROFILE/...
【标题】"CVE-2017-12149 JBOSS AS 6.X 反序列化漏洞详解及反弹shell技术" 【内容】 CVE-2017-12149是一个针对JBOSS Application Server 6.x版本的严重安全漏洞,它涉及到了Java对象的反序列化过程。在Java中,反...
【标题】"cargo-core-tools-jboss-deployer-7-1.4.6.zip" 提供的是Cargo核心工具集中的JBoss部署器组件,版本为1.4.6。Cargo是一个开源项目,专为Java应用服务器管理和部署设计,它允许开发者在多种应用服务器之间...
2. **使用CLI工具**:JBoss附带了一个强大的命令行接口(CLI),通过它可以实时查询和修改服务器配置,如`$JBOSS_HOME/bin/jboss-cli.sh --connect`。 以上就是在Linux环境下配置JBoss开发环境的详细步骤。请根据你...
【标题】"cas-server-integration-jboss-3.4.12.zip" 是一个与CAS(Central Authentication Service)服务器整合JBoss应用服务器相关的压缩包。CAS是一个开源的身份验证框架,它提供了一种集中式的方式来进行身份...