栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java将EJB注入JAX-RS(RESTful服务)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java将EJB注入JAX-RS(RESTful服务)

我不确定这是否行得通。所以:

选项1:使用注入提供程序SPI

实现一个提供程序,它将执行查找并注入EJB。看到:

@EJB注入。

com.sun.jersey:jersey-server:1.17的示例:import com.sun.jersey.core.spi.component.ComponentContext;import com.sun.jersey.core.spi.component.ComponentScope;import com.sun.jersey.spi.inject.Injectable;import com.sun.jersey.spi.inject.InjectableProvider;import javax.ejb.EJB;import javax.naming.Context;import javax.naming.InitialContext;import javax.ws.rs.ext.Provider;import java.lang.reflect.Type;@Providerpublic class EJBProvider implements InjectableProvider<EJB, Type> {    public ComponentScope getScope() {        return ComponentScope.Singleton;    }    public Injectable getInjectable(ComponentContext cc, EJB ejb, Type t) {        if (!(t instanceof Class)) return null;        try { Class c = (Class)t; Context ic = new InitialContext(); final Object o = ic.lookup(c.getName()); return new Injectable<Object>() {     public Object getValue() {         return o;     } };        } catch (Exception e) { e.printStackTrace(); return null;        }    }}

选项2:使BookResource成为EJB

@Stateless@Path("book")public class BookResource {    @EJB    private BookEJB bookEJB;    //...}

看到:

如何将REST服务与EJB 3.1结合
EJB 3.1和REST-轻量级混合
选项3:使用CDI

@Path("book")@RequestScopedpublic class BookResource {    @Inject    private BookEJB bookEJB;    //...}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/395128.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号