Если вы действительно хотите сделать это в среде сервлетов, у вас потенциально может быть два сервлета в вашем веб-приложении: один для приложения/компонента Restlet и один для вашей инициализации, используя load-on-startup
(который вы не обязательно сопоставляете с каким-либо URL-адресом, поскольку насколько я знаю, вам это не нужно). Таким образом, вам не придется создавать подкласс org.restlet.ext.servlet.ServerServlet
. Я думаю, что это, вероятно, проще, так как этот сервлет инициализации будет просто содержать init()
, но это будет работать только для вещей, которые не зависят от приложения/компонента Restlet, которые должны быть инициализированы в первую очередь.
<context-param>
<param-name>org.restlet.clients</param-name>
<param-value>HTTP HTTPS CLAP FILE</param-value>
</context-param>
<servlet>
<servlet-name>ExampleInit</servlet-name>
<servlet-class>example.TestInitServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>Example</servlet-name>
<servlet-class>org.restlet.ext.servlet.ServerServlet</servlet-class>
<init-param>
<param-name>org.restlet.application</param-name>
<param-value>example.TestApplication</param-value>
</init-param>
<init-param>
<param-name>org.restlet.autoWire</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Example</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
В качестве альтернативы (или, возможно, в дополнение к этому) я обычно использую JNDI для инициализации соединений с базой данных и некоторых других параметров конфигурации. Это также позволяет мне сохранять ту же конфигурацию и механизмы загрузки, независимо от того, использую ли я автономный сервер Restlet или Restlet в веб-приложении.
Например, для развертывания в контейнере сервлета (например, Jetty или Tomcat) я использую конфигурацию JNDI контейнера, но для локальных тестов (с автономным приложением Restlet) я использую фабрику контекста Jetty JNDI (которую вы можете получить как отдельный баночка от остальной пристани).
person
Bruno
schedule
24.06.2010