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

带有@EJB的GlassFish 4 JAX-RS过滤器

南门茂才
2023-03-14

我正在使用Glassfish 4.0开发一个REST应用程序。

在资源类中,我可以通过使类@Stateless并通过@EJB注入来使注入工作(注入的类是无状态的 EJB)。

但是,此方法在 JAX-RS 滤波器中不起作用。我根本无法注射工作。

请参见下面的代码:

@Provider
public class UpdateFilter implements ContainerRequestFilter {

    @EJB
    private MyBeanInterface doStuffBean;

    @Override
    public void filter(ContainerRequestContext requestContext) {

        ...
    }
}

doStuffBean总是为空。

有什么建议吗?

共有2个答案

谭灿
2023-03-14

尝试通过将 @Stateless 替换为 @ManagedBean 和 @EJB 替换为 @Inject来使用 CDI。这在 JAX-RS 中对我有用。

如果除了注入之外,您还需要EJB,那么保留双注释@Stateless @ManagedBean可能会更好。

松和泰
2023-03-14

我相信@EJB只适用于JavaEE管理的类,就像其他EJB和Servlet一样。

如果您使用的是CDI,则可以使用@Inject注释,但如果此类不是ManagedBean,则需要进行查找。

 类似资料:
  • 问题内容: 我正在尝试建立一个查询,该查询将找到所有用户文档(docType =用户),然后根据许多过滤器对其进行过滤。例如位置,性别,年龄等。过滤器是根据我正在构建的搜索功能上的用户输入来添加/删除的。 以下没有结果: 以下返回结果: 后者虽然返回结果,但从长远来看是行不通的,因为我可能想为年龄,性别等添加一个额外的过滤器,而且我似乎无法添加多个字段。如果我删除位置过滤器,则第一个查询有效。 问

  • 问:在GoogleSheets中,仅使用内置函数,如何编写一个过滤器,根据每行中的一列不在另一个范围的有效值列表中排除记录。 详细资料 我正在使用Google Sheets编写一个财务电子表格,其中我所有的支出和收入都输入到一个名为“交易”的表格中。我有一个单独的表叫做常量,在这里我有一个收入类别列表和一个费用类别列表。 以下是一些用于问题的示例数据: 常数 交易 我有一张名为ByMonth的表格

  • 问题内容: 我正在尝试对某些条件过滤后的值进行汇总。我正在使用spring数据的ElasticSearchTemplate.query()方法也执行查询并在结果提取器中获取结果。我正确地找到了匹配(即应用了过滤器,并且仅检索了与这些值匹配的文档。)。但是,汇总是在所有文档上执行的。我认为汇总应仅应用于过滤后的值。以下是我正在使用的代码: 为了进一步调试问题,我编写了代码来执行查询,而不是使用spr

  • 问题内容: 我正在尝试使用过滤查询集 我的问题是我不知道用户想提前搜索哪个字段,因此我需要用一个变量替换“名称”,如下所示 我怎么做? 问题答案: 差不多了.. 要了解它在做什么,请在Google周围搜索 :)了解Python中的kwargs 将字典键/值对扩展为关键字参数-值对。 使你的示例适应解决方案:

  • 在下面的示例中,我得到异常 当检查< code>if( i == 2 )失败时,我希望得到结果< code>Future( Test2 )。我如何在一个处理组合未来的for理解中处理filter/if? 下面是一个在Scala REPL中工作的简化示例。 代码:

  • 我正在使用https://www.npmjs.com/package/bad-words我为过滤特殊字符创建了正则表达式。 如果单词不包含土耳其语字符,它可以工作。但是如果我写土耳其语字符,如或,这不是过滤。 我的正则表达式错了吗? 我在文档中发现了以下代码:

  • 如果我使用而不是,链接是否会改变结果? 我尝试了几千条记录,结果在几次迭代中都是一致的。但由于这涉及到线程(我找不到足够的相关材料来讨论这种组合),我想双重确保并行流不会以任何方式影响过滤器链接的输出。示例代码:

  • 但是附件总是空的。有什么建议吗?提前谢了。