Jersey和EJB无状态示例,EJB实例为null

时间:2016-04-06 22:22:03

标签: jersey ejb grizzly

我正在使用JAVAX RS和EJB创建一个简单的RESTful服务,以便将单个对象创建为全局变量。

我按照以下方式启动了服务:

import org.glassfish.grizzly.http.server.HttpServer;
import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
import org.glassfish.jersey.server.ResourceConfig;

final ResourceConfig rc = new ResourceConfig().packages("service_folder");
GrizzlyHttpServerFactory.createHttpServer(URI.create(BASE_URI), rc);

我目前正在测试@Stateless示例。

首先,我在随机文件夹中创建一个类,内容如下:

import javax.ejb.Stateless;
import java.util.Date;


@Stateless
public class Service {
    public Date getCurrentDate(){
        return new Date();
    }
}

然后我在最开头提到的 service_folder 中创建资源文件:

@Stateless
@Path("current")
public class ServiceFacade {

    @EJB
    Service service;

    @GET
    public String getDate(){
        return service.getCurrentDate().toString();
    }

}

目前的情况是每当我访问 BASE_URI / current 时,灰熊只会抛出错误,原因是因为getDate()中的服务为空。

我的猜测是,在灰熊初始化期间,服务类bean还没有真正注册。

请让我知道我哪里做错了,谢谢!

0 个答案:

没有答案