Какое наиболее подходящее место для размещения (запуска) кода инициализации в приложении Restlet? - PullRequest
0 голосов
/ 13 марта 2012

Где можно вставить код инициализации при запуске в веб-приложение Restlet, не используя ServletContextListener?

Я хотел бы иметь прозрачное развертывание моего Restlet на веб-сервере, таком как JBoss / Tomcat, и хотел бы избавиться от логики инициализации в Слушателе - чтобы иметь возможность удобно развернуть его вне веб-сервера, если необходимость - определенно не для интенсивного использования, но тем не менее это ценно.

Вставит ли его в конструктор org.restlet.Component, что он будет выполняться только один раз? Это правильное место, чтобы поставить его?

public class MyComponent extends org.restlet.Component
{
  public MyComponent() //constructor
  {
    //insert initialization code here that should run ONLY ONCE?

    this.getDefaultHost().attach(new MyApplication()); // MyApplication extends org.restlet.Application
  }
}

Я просмотрел документы и также посмотрел похожий пост: Инициализация запуска RESTlet устарела? но я все еще не уверен, что это правильный путь. Я хотел бы удалить зависимость от слушателя, если это вообще возможно.

1 Ответ

1 голос
/ 16 марта 2012

Использование конструктора Компонента является хорошим местом для обработки инициализации, и вы можете быть уверены, что такая обработка выполняется только один раз.

Вы можете заметить, что метод запуска / остановки компонента также может быть использован в вашем случае. Не забудьте вызвать в них супер метод. Эти методы вызываются, когда вы запускаете / останавливаете свой компонент, что обычно делается один раз ...

Надеюсь, это поможет вам. Thierry

...