我目前正在建设使用泽西嵌入码头一个简单的REST接口。从一个HashMap共享的HashMap在码头
Server server = new Server(8080);
ContextHandlerCollection contexts = new ContextHandlerCollection();
ServletContextHandler servletContextHandler = new ServletContextHandler(server, "/", ServletContextHandler.SESSIONS);
ServletHolder sh = new ServletHolder(ServletContainer.class);
servletContextHandler.addServlet(sh, "/*");
server.setHandler(servletContextHandler);
sh.setInitParameter("com.sun.jersey.config.property.packages", "my.package.containing.jersey.resource");
在我的资源,我定义@GET, @PUT, @DELETE
方法,这都得到/ PUT /删除对象。
当前我在我的资源类中将HashMap
定义为静态ConcurrentHashMap
,迄今为止工作良好。
public class MyResource {
private static final Map<String, MyObjects> myRepository = new ConcurrentHashMap<String, MyObjects>();
@GET
...
@PUT
...
}
不过,我打算让HashMap
访问潜在的其他资源和servlet。
因此,希望将其添加到更广泛的范围应用程序上下文中。
虽然不知道,这可以做得最好吗?
理想地以编程方式。
(我见过有一个在jetty.webapp一个WebAppContext,不知道这是虽然要走的路)。
什么数据库? – sp00m
不,我不需要持久性。 – Will