我正在使用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还没有真正注册。
请让我知道我哪里做错了,谢谢!