NetBeans ,GlassFish,EJB境配置 QA

preface:

最近在研究EJB 起初用的是JBoss+MyEclipse,后来使用NetBeans开发,转而使用GlassFish.选用NetBeans和GlassFish主要是因为希望得到"一站式"的结局方案,防止大量时间浪费在环境配置上……最终的环境配置如下:NetBeans6.5 GlassFishv2ur2 MySQL 5.1 JDK1.6U12

 

Q1:使用NetBeans为Jboss服务器创建应用程序客户端的时候不能使用@EJB注入SessionBean?

A:NetBeans中为Jboss建立的应用程序客户端只支持J2EE1.4,不支持Annotation,所以无法使用依赖注入。现在发现的唯一可以使用依赖注入应用程序客户端的情况是:将GlassFish应用程序客户端打包到企业应用程序,并设为启动,然后运行企业应用程序

具体参见:http://www.netbeans.org/kb/61/javaee/entappclient_zh_CN.html

 

Q2:NetBeans无法识别Jboss5上部署的EJB模块,并且手动部署的时候也会出错

A:NetBeans6.5+JBoss5.0GA+JDK1.6会出现以上情况。如果使用MyEclipse6.5管理JBoss则没有问题.NetBeans于Jboss4.2.2GA集成没有问题。

 

Q3:同样的EJB部署到JBoss和GlassFish上的时候Jndi名称相差很远

A:两个应用服务器的命名策略不一样。比如一个SessionBean使用如下的注释

@Stateless(name="MyEJB" mappedName="MyEJB222")

如果在Jboss上部署,EJB的Jndi名称为:MyEJB/remote或者MyEJB/local

如果在GlassFish上部署,EJB的Jndi名称则为:MyEJB222

在编写客户端应用的时候需要特别注意这点(如果您有更好的解决方案,不胜赐教)

建议使用相同的name和mappedName,并在@EJB注入的时候使用beanName属性

 

Q4:如何在GlassFish中查找具有多个远程接口的EJB

A:使用EJB全局JNDI名称#远程接口名称。比如context.lookup("MyBean#com.ejb.MyBeanRemote1");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值