2016-02-28 5 views
0

Рамки, такие как Spring, Struts, облегчают чтение файлов свойств. Например, MessageResources в Struts. Я хочу знать, есть ли такие файлы свойств, которые находятся в построении, поддерживаемые самой платформой Restlet. Если есть, то мне не нужно будет изобретать колесо и иметь возможность использовать его прямо. Мои параметры конфигурации приложения будут включены в этот файл. Я новичок в Restlet, я не мог найти ни малейшего внимания. Любой способ сделать это?Файлы свойств настраиваемых свойств Restlet

ответ

1

В Restlet такой поддержки нет. Тем не менее вы можете использовать протоколы клиента, чтобы загрузить эти файлы свойств из разностных мест:

  • Protocol.FILE - от файловой системы непосредственно
  • Protocol.CLAP - от пути к классам
  • Protocol.OBAP - от OSGi расслоения

Вот образец:

ClientResource cr = new ClientResource("clap://someproperties.properties"); 
Properties props = new Properties(); 
props.load(cr.get().getStream()); 

Необходимо указать этот протокол при определении компонента:

Component component = new Component(); 
(...) 
component.getServers().add(Protocol.HTTP, 8182); 
component.getClients().add(Protocol.CLAP); 
+0

Большое спасибо за ваш ответ. Я новичок в рестлерах. Я понял из вашего ответа, что свойства должны загружаться из другого места (другого сервера, вызывающего сервер). Если это так, не будет ли это недостатком производительности, так как процессу придется ждать ответа ответа. –

+1

Не стоит беспокоиться ;-) Фактически протоколы, такие как 'FILE' и' CLAP', являются локальными и не требуют сетевого вызова. Это похоже на использование Reader или InputStream, но через API-интерфейс Restlet ... –

+0

Я старался, как вы упомянули. но он терпит неудачу. Может быть, я делаю что-то неправильно. В одном из моих классов я пытаюсь назвать то же самое, что и «ClientResource cr = new ClientResource» («clap: //someproperties.properties»); Свойства props = new Properties(); props.load (cr.get () .getStream());» , Но есть ошибка «сервер не нашел ничего, соответствующего URI запроса». Мой файл свойств находится в папке ресурсов (это проект maven). Я не понимаю, как здесь используется «Компонент» и почему он необходим, если мы называем файл внутри проекта? любая идея, пожалуйста? –