EJB2.1迁3.1:如何通过注解设置WebSphere的simple-binding-name
EJB 3.1无状态Bean自定义simple-binding-name配置方案
针对你在WebSphere环境下(simple-binding-name是IBM WebSphere特有的JNDI绑定配置)的需求,标准EJB 3.1注解无法直接生成该配置,但可以通过WebSphere提供的专有注解实现自动生成ibm-ejb-jar-bnd.xml中的目标配置,无需手动编写文件。
步骤1:引入WebSphere EJB注解依赖
确保项目包含WebSphere的EJB容器API依赖(Maven项目可添加如下依赖,版本匹配你的WebSphere版本):
<dependency> <groupId>com.ibm.websphere.appserver.api</groupId> <artifactId>com.ibm.websphere.appserver.api.ejbcontainer</artifactId> <version>8.5.0</version> <scope>provided</scope> </dependency>
步骤2:在无状态Bean上添加专有注解
在你的无状态Bean类上,结合@Stateless与WebSphere专属的@IBMJndiBindings、@IBMJndiBinding注解,指定simple-binding-name:
import javax.ejb.Stateless; import com.ibm.websphere.ejbcontainer.annotation.IBMJndiBinding; import com.ibm.websphere.ejbcontainer.annotation.IBMJndiBindings; @Stateless(name = "SomeEJBBean") @IBMJndiBindings({ @IBMJndiBinding( simpleBindingName = "ejb/org.abc.ejbclient.SomeEJBBean" ) }) public class SomeEJBBean { // 业务方法实现 }
关键说明
- 构建项目时,WebSphere的EJB容器工具会自动生成
ibm-ejb-jar-bnd.xml,其中会包含你需要的配置:<session name="SomeEJBBean" simple-binding-name="ejb/org.abc.ejbclient.SomeEJBBean"/> - 这些注解是WebSphere专属,若后续需要迁移到其他应用服务器,需替换为对应容器的配置方式。
- 若需要同时配置其他JNDI绑定属性,可在
@IBMJndiBinding中补充jndiName、bindingName等属性。
内容的提问来源于stack exchange,提问作者Rohit
相关产品推荐
相关产品推荐

