bytalk 2009-04-25 11:19
浏览 275
已采纳

@Local 和 @Remote同时存在需要条件吗?

从来没有像下面代码中那样同时靠默认属性实现同一个接口来使用。看了一个视频,尚学堂的ejb3.0实例,里面使用的这种方法,而且运行正常。所以我也想试试看,结果部署时出错了,错误提示放在下面,大致意思就是远程访问和本地访问同时存在云云。
我想问的是,我在哪里做错了,因为确实有人成功过。我用的环境是jboss5.0.1.ga,他用的是4.x,还请有经验的朋友指教一下,不胜感谢。

//bean实现

@Stateless
@Remote
@Local
public class HelloWorldBean implements HelloWorld {

    public String sayHello(String name) {
        return name+"说:你好世界。";
    }

}




//错误提示
[code="java"]10:52:45,093 ERROR [AbstractKernelController] Error installing to Real: name=vfsfile:/D:/jboss-5.0.1.GA/server/default/deploy/FirstEJB_R_L.jar/ state=PreReal mode=Manual requiredState=Real
org.jboss.deployers.spi.DeploymentException: Error deploying FirstEJB_R_L.jar: Cannot designate both javax.ejb.Local and javax.ejb.Remote annotations without 'value' attribute on HelloWorldBean. [EJBTHREE-1025]
    at org.jboss.ejb3.deployers.Ejb3Deployer.deploy(Ejb3Deployer.java:201)
    at org.jboss.ejb3.deployers.Ejb3Deployer.deploy(Ejb3Deployer.java:103)
    at org.jboss.deployers.vfs.spi.deployer.AbstractVFSRealDeployer.internalDeploy(AbstractVFSRealDeployer.java:45)
    at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
    at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
    at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)
    at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
    at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)
    at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
    at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598)
    at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062)
    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
    at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
    at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
    at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)
    at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:698)
    at org.jboss.system.server.profileservice.ProfileServiceBootstrap.loadProfile(ProfileServiceBootstrap.java:304)
    at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:205)
    at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:405)
    at org.jboss.Main.boot(Main.java:209)
    at org.jboss.Main$1.run(Main.java:547)
    at java.lang.Thread.run(Thread.java:619)
Caused by: javax.ejb.EJBException: Cannot designate both javax.ejb.Local and javax.ejb.Remote annotations without 'value' attribute on HelloWorldBean. [EJBTHREE-1025]
    at org.jboss.ejb3.EJBContainer.checkForDuplicateLocalAndRemoteInterfaces(EJBContainer.java:688)
    at org.jboss.ejb3.EJBContainer.processMetadata(EJBContainer.java:644)
    at org.jboss.ejb3.Ejb3Deployment.processEJBContainerMetadata(Ejb3Deployment.java:415)
    at org.jboss.ejb3.Ejb3Deployment.start(Ejb3Deployment.java:523)
    at org.jboss.ejb3.deployers.Ejb3Deployer.deploy(Ejb3Deployer.java:194)
    ... 22 more
10:52:45,406 ERROR [ProfileServiceBootstrap] Failed to load profile: Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS):

DEPLOYMENTS IN ERROR:
  Deployment "vfsfile:/D:/jboss-5.0.1.GA/server/default/deploy/FirstEJB_R_L/" is in error due to the following reason(s): javax.ejb.EJBException: Cannot designate both javax.ejb.Local and javax.ejb.Remote annotations without 'value' attribute on HelloWorldBean. [EJBTHREE-1025]

 


问题补充:
楼下两位大概没有看清楚问题,我的意思是有真实例子证实了这样可行,但我却没有做成功。
hantsy兄的提议有些绝对,有很多项目是需要本地和远程两种调用方式的,比如临时资源不够的时候。

lovewhzlq兄的说法是否有些偏差?jndi查找名是可以使用“*/local”这样的方式查找,只要访问方式指定就可以了吧,而且我是在部署时就出现问题,还并没有查找。
  • 写回答

5条回答 默认 最新

  • wanghaolovezlq 2009-04-25 19:10
    关注

    我也曾经这样做过,jboss好像从4.2之后的版本就有这个问题,

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 数据库数据成问号了,前台查询正常,数据库查询是?号
  • ¥15 算法使用了tf-idf,用手肘图确定k值确定不了,第四轮廓系数又太小才有0.006088746097507285,如何解决?(相关搜索:数据处理)
  • ¥15 彩灯控制电路,会的加我QQ1482956179
  • ¥200 相机拍直接转存到电脑上 立拍立穿无线局域网传
  • ¥15 (关键词-电路设计)
  • ¥15 如何解决MIPS计算是否溢出
  • ¥15 vue中我代理了iframe,iframe却走的是路由,没有显示该显示的网站,这个该如何处理
  • ¥15 操作系统相关算法中while();的含义
  • ¥15 CNVcaller安装后无法找到文件
  • ¥15 visual studio2022中文乱码无法解决