【问题标题】:Using "private static" helper method in EJBs在 EJB 中使用“私有静态”辅助方法
【发布时间】:2017-10-22 07:06:07
【问题描述】:

我有一个简单的 EJB:

@Stateless
public class EJB {

    public void aMethod() {
        // ...
        Event event = createEvent();
        // ...
    }

    private static Event createEvent() {
        Event event = new Event();
        // ...
        return event;
    }
}

IntelliJ Ultimate 显示错误,因为 EJB 中有静态方法。

使用 JBoss EAP,EJB 可以正常工作。 EJB 规范是否禁止使用(私有)静态“助手”方法?为什么?为什么它可以与 JBoss EAP(以及最有可能的其他应用程序服务器)一起使用?

【问题讨论】:

    标签: java jakarta-ee intellij-idea jboss ejb


    【解决方案1】:

    EJB 规范是否禁止使用(私有)静态“助手”方法?

    不,它没有。它确实禁止构成 EJB 与容器接口的方法为 static,无论这些方法是通过方法命名模式还是通过注释来标识的。它还禁止 EJB 读取或写入 static 但不是 final 的字段。但它并没有全面禁止 EJB 拥有或调用 static 方法。

    为什么它可以与 JBoss EAP(以及最有可能的其他应用程序服务器)一起使用?

    因为它应该。据我所知,这里是 IntelliJ 错了。我推测 IntelliJ 可能会被它所标记的特定方法的名称所混淆,因为其中出现了“create”。这有点接近,但实际上并不匹配一些对 EJB 很重要的老式方法名称模式。

    【讨论】:

      猜你喜欢
      • 2017-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-06
      • 2012-07-14
      • 1970-01-01
      • 2016-06-28
      相关资源
      最近更新 更多