GlassFish错误:禁用JAX-RS EJB支持

Adr*_*n M 19 rest ejb glassfish jersey

我正在使用GlassFish 3.1.2.2上的Jersey JAX-RS + EJB 3.1尝试一个简单的应用程序.在我添加EJB之前,在GlassFish上使用Jersey REST看起来一切都很好.部署war文件时,出现此错误.

SEVERE: Error when configuring to use the EJB interceptor binding API. JAX-RS EJB support is disabled.

以前遇到过这种情况的人?GlassFish中是否有配置来解决此问题?

我的EJB是一个简单的pojo with @Singleton@PostConstructannotation.

@Singleton
public class PurchaseBean {
    private String name;

    @PostConstruct
    public void init() {
        System.out.println("Initializing PurchaseBean");
        setName("Purchase Singleton EJB");
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }


}
Run Code Online (Sandbox Code Playgroud)

Adr*_*n M 32

看起来这是一个Eclipse问题.我使用带有GlassFish适配器的Eclipse进行了部署.重启Eclipse解决了它.

Solution: Shutdown GlassFish, inside Eclipse go to Project->Clean(select project) and then start GlassFish again.

我不知道为什么但它有效.:)

  • 在部署Singleton EJB之后,NetBeans中存在同样的问题,这为我解决了这个问题. (4认同)
  • 在生产系统中同样的问题,儿子日食不是问题:( (2认同)
  • 实际上,这似乎与Singleton无关(或仅间接相关).我可以通过在我的路径中包含某些Maven项目来重现它,因为CDI部署失败会破坏部署到glassfish(我认为是由jar中的注释引起的?).如果我添加,尝试并且无法部署,删除,然后再次部署,我再次开始接收Jax-RS EJB集成错误.清理项目并重新启动glassfish可以解决问题. (2认同)