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 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器