【总结】EJB开发过程中遇到的几个问题

本文总结了在EJB开发中遇到的三个问题:1) 启动JBoss时的AttachmentStore错误,解决方法是修改profile.xml;2) EJB运行时的ClassCastException,修复方案是修改jboss-service.xml;3) 客户端引入EJB的最佳实践,建议以project方式引入而非jar包,以避免部署和更新时的问题。

1、启动JBoss时报错,ERROR [AbstractKernelController] Error installing to Instantiated: name=AttachmentStore state=Described…
进入目录 server/default/conf/bootstrap,打开文件 profile.xml,找到

<!-- The attachment store -->
    <bean name="AttachmentStore" class="org.jboss.system.server.profileservice.repository.AbstractAttachmentStore">
        <constructor><parameter><inject bean="BootstrapProfileFactory" property="attachmentStoreRoot" /></parameter></constructor>
        <property name="mainDeployer"><inject bean="MainDeployer" /></property>
        <property name="serializer"><inject bean="AttachmentsSerializer" /></property>
        <property name="persistenceFactory"><inject bean="PersistenceFactory" /></property>
    </bean>

<parameter><inject bean="BootstrapProfileFactory" property="attachmentStoreRoot" /></parameter>

改为

<parameter class="java.io.File"><inject bean="BootstrapProfileFactory" property="attachmentStoreRoot" /></parameter>

即添加class=”java.io.File”,保存并重启JBoss即可。这个问题在JBoss5.0版本以前似乎不会遇到。

2、运行EJB程序时抛异常:java.lang.ClassCastException: $Proxy96 cannot be cast to com.tgb.ejb.EJBHelloRemote……
解决方案:在JBoss服务器的jboss-4.2.2.GA\server\default\deploy\jboss-web.deployer\META-INF路径下找到jboss-service.xml文件,把<attribute name="UseJBossWebLoader">false</attribute>的false改为true,重启JBoss,问题解决。

3、客户端使用EJB最好以project的方式引入,即右键项目->Build Path->Configure Build Path->Projects->Add->选择需要使用的EJB项目确定。虽然可以先将EJB打包成jar,然后引入,但这种方式会出现很多问题,而且每次更新代码再次部署后也会出现很多意想不到的情况,本人也是经过很多次失败才发现这个问题。
本人原来是通过jar引入EJB,出现的几个问题如下:
①部署项目时部署出抛出javax.management.InstanceAlreadyExistsException异常
②修改代码后重新部署,无法访问或者内容不变
③修改EJB代码后,客户端代码无法识别,导致代码本身报错
以上问题在使用project方式引入后都得以解决,仅供参考。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值