REST:从位于" / web-inf / lib"内的jar运行main方法一个Web项目

时间:2016-02-26 20:50:46

标签: java rest tomcat jersey

我使用Jersey 1.x和Tomcat 8.0。我有一个.jar文件,这是我上传到" / web-inf / lib"的主要应用程序。动态Web项目。

我似乎无法弄清楚如何在这个jar中运行一个包含main方法的类,这对我的Web服务至关重要,因为它创建了与Derby DB的连接,我的所有Web服务方法都是使用这些连接。

必须在Tomcat服务器启动时开始运行。

1 个答案:

答案 0 :(得分:1)

这绝对是的方式。如果您想在Tomcat启动时运行某些内容,请查看ServletContextListener。基本上你实现了这个接口:

import javax.servlet.ServletContextListener;

public class MyContextListener implements ServletContextListener {

    @Override
    public void contextInitialized(ServletContextEvent sce) {
        // your init code goes here
    }
}

然而,我怀疑即使这是你想要做的。如果您正在使用本地或嵌入式Derby实例,那么您可能还可以,但现在您必须分发连接信息。传统上,在像您这样的应用程序中,您将使用类似DBCP(包含在Tomcat中的内容 - 查看Tomcat DataSource docs)并在每次需要时获取与DB的连接。如果您只是初始化数据库,那么ServletContextListener将允许它。但在此之后,不要使用ServletContextListener来分发数据库连接。