У меня есть приложение Restlet (2.0.10), я начинаю со следующего кода:
public static void main(final String[] args) {
try {
// Create a new Component
final Component component = new Component();
// Add a new HTTP server listening on port 8182
component.getServers().add(Protocol.HTTP, SERVER_PORT);
// Add a client protocol connector for static files
component.getClients().add(Protocol.FILE);
// Attach the sample application.
component.getDefaultHost().attach("/myApp", new MyApplication(Context.getCurrent()));
// Start the component.
component.start();
} catch (Exception e) {
LOGGER.error(e);
}
}
Теперь мне требуется root приложения (т.е. / myApp) внутри приложения, и я пытаюсь получить этосогласно доступ Java к ServletContext из рестлета Ресурс :
Client serverDispatcher = context.getServerDispatcher();
ServletContext servletContext = (ServletContext)serverDispatcher.getContext().getAttributes()
.get("org.restlet.ext.servlet.ServletContext");
String contextPath = servletContext.getContextPath();
Это прекрасно работает при развертывании моего приложения на сервере Tomcat, но как только я запускаю сервер с использованием компонента каккак показано выше, мой контекст всегда нулевой.Может кто-нибудь сказать мне, как получить правильно инициализированный контекст, используя возможности внутреннего сервера restlets?