Конструктор Джерси - PullRequest
       19

Конструктор Джерси

0 голосов
/ 12 апреля 2011

Как можно загрузить что-то в начале системы? У меня нет "основного", где начинается моя программа!?

Ответы [ 3 ]

3 голосов
/ 12 апреля 2011

Вы можете использовать одноэлементный объект, определенный в Application#getSingletons().

public class MyApp extends Application
{
    public Set<Class<?>> getClasses()
    {
        return null;
    }

    public Set<Object> getSingletons()
    {
        Set<Object> set = new HashSet<Object>();
        Foo foo = /* init foo somehow */;
        set.add(foo);
        return set;
    }
}

С RESTful Java (если у вас есть книга, см. Стр. 142):

Метод getSingletons() возвращает список предварительно выделенныхВеб-сервисы JAX-RS и @Provider -аннотированные классы.Вы, как программист приложения, несете ответственность за создание этих объектов.Среда выполнения JAX-RS будет перебирать список объектов и регистрировать их внутри.Когда эти объекты зарегистрированы, JAX-RS также вводит значения для @Context аннотированных полей и методов установки.

1 голос
/ 18 ноября 2013

как правило, трикотаж построен Maven.Поэтому, когда вы выполняете команду maven, создается инициализированный проект.

mvn archetype:generate -DarchetypeArtifactId=jersey-quickstart-grizzly2 \
-DarchetypeGroupId=org.glassfish.jersey.archetypes -DinteractiveMode=false \
-DgroupId=com.example -DartifactId=simple-service -Dpackage=com.example \
-DarchetypeVersion=2.4.1

Более подробную информацию смотрите: https://jersey.java.net/documentation/latest/index.html

0 голосов
/ 04 февраля 2014

Вы можете написать класс, который реализует ServletContextListener.

    public class MyContextListener implements ServletContextListener {
        @Override
        public void contextInitialized(ServletContextEvent event) {
            //stuff that happens when server is started
        }

        @Override
        public void contextDestroyed(ServletContextEvent event) {
            //stuff that happens when server is turned off
        }
    }

Затем вы просто добавите это в свой файл web.xml как дочерний элемент элемента web-app.

<listener>
    <listener-class>com.mypackage.MyContextListener</listener-class>
</listener>
...