当前位置: 首页 > 知识库问答 >
问题:

有没有办法将EJB注入到自定义资源包中

阎兴为
2023-03-14

我试图构建一个资源包,从数据库而不是属性文件获取其消息。我做了一些扩展ResourceBundle的测试,ResourceBundle。控件和ListResourceBundle,我想我走的是正确的道路。

当我需要查询实际数据库以从我的ResourceBundle实现中获取消息时,我就到达了一个点。我想利用EJB层上的所有JPA架构体系来运行查询并实例化存储密钥、消息和区域设置的对象。因此,如果我可以@EJB-将我的会话bean注入到ResourceBundle中,那将是完美的,但是我找不到这样做的方法。

这是我的ResourceBundle代码

@ManagedBean(eager=true)
@ApplicationScoped
public class ResourceDicWeb extends ListResourceBundle {

@EJB
private MyDAO myDAO;

@Override
protected Object[][] getContents() {
    List<DicWeb> dicWeb = updateDictionary();

    Object[][] content = new Object[dicWeb.size()][2];

    for(int i = 0; i <= dicWeb.size(); i++) {
        content[i][0] = dicWeb.get(i).getAtrKey();
        content[i][1] = dicWeb.get(i).getAtrMessage();
    }

    return content;
}

    private List<DicWeb> updateDictionary() {
        return myDAO.fetchDictionary(); // at this point myDAO is always null
    }

}

我的下一步是使用老式的jdbc直接从resourcebundle创建数据库连接,但这肯定是最后一个选项。

干杯!

共有1个答案

仇正平
2023-03-14

如果注入不起作用,那么您应该仍然能够通过JNDI完成这项工作。

Context ctx = new InitialContext();
MyDao myDao = (MyDao) ctx.lookup("myapp/myejbmodule/MyDao!org.myapp.ejb.MyDao");
 类似资料:
  • 有没有办法列出AWS中的所有资源?对于所有区域,所有资源...例如列出所有EC2实例、所有VPC、API Gateway中的所有API等...我想列出我帐户的所有资源,因为我很难找到我现在可以放弃的资源。

  • 我正在泽西岛应用程序中使用 CDI。在根资源上,CDI 注入按预期工作,但每当我返回子资源时,CDI 注入源都不可用。 具有子资源定位器的根资源: 子资源: 错误: 我正在使用和Weld依赖项,在Undertow上运行,并将Weld servlet侦听器添加到部署中。 同样,对根资源的相同注入确实有效。< code>@Named("name ")字符串由< code>@ApplicationSco

  • 我目前正在努力实现一种保护隐私的数据挖掘算法。对于不同各方之间的通信部分,我使用的是Netty 4.0。双方之间的通信流如下所示: 其中是启动和控制整个计算的主方。安全多方乘法的逻辑位于 Netty 中。还有另一种用于安全添加的协议。 目前,我使用类似的解决方案,如Netty核心团队的Norman Maurer所示,以了解子协议计算是否已完成。但这感觉有点像是在对抗框架。 是否有办法从< code

  • 我有几个EJB3。x无状态会话bean,未定义接口。我需要将这些bean注入到Springbean中,但我无法这样做。 无接口EJB: 我的豆子: 还有我的豆子。xml 在初始化Spring容器时,我得到以下错误: 异常本身非常清楚——spring容器期望MyBean有一个本地接口视图作为其业务接口;但是,我没有(也不能介绍)。 非常感谢您的帮助!

  • 我正在使用Jersey 2.8和Glassfish 4.0。我有一个资源定位器类,如下所示 问题是,当通过ResourceContext获得MySubService时,EJB没有注入其中。 以前,我使用Glassfish 3和Jersey 1.17以及专有的ResourceContext,完全相同的代码可以正常工作。 我在谷歌上搜索了很多,读到了很多类似(但有点不同)的问题,据我所知,当通过Res

  • 我需要编写一个无状态会话bean,并将其部署到WLS10.3。3.会话bean应该能够向通过WLS控制台创建的已知JMS队列发送文本消息。因此,我编写了以下代码: 我现在需要做的是提供一个有效的weblogic-ejb-jar.xml与资源参考到jndi-name映射。有人能为weblogic-ejb-jar.xml提供一个例子吗? jmsConnectionFactory应该绑定到jndi-na