Рекомендовать методики хранения переходных настроек приложения - PullRequest
5 голосов
/ 06 ноября 2011

Я пишу небольшой персональный файловый сервер с Play!и это мое первое веб-приложение.Каковы рекомендуемые методы хранения предпочтений, которые пользователи могут изменять с помощью панели предпочтений.

Моей первой идеей было использование файла свойств в каталоге conf, но я должен иметь возможность изменять его во время выполнения.Можно ли записать в каталог conf, какой бы вариант развертывания?

Есть ли для этого встроенные опции или есть лучший подход?

Ответы [ 2 ]

2 голосов
/ 07 ноября 2011

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

Но в вашем случае кажется, что файловая система - это ваш механизм персистентности, и вам не нужны транзакции или чрезмерно хорошая производительность чтения / записи для обсуждаемой функции, поэтому я бы оставил эту часть максимально простой до нужен какой-то другой механизм персистентности: я бы просто сериализовал объект пользовательских предпочтений в некоторый текстовый формат (приходит на ум JSON или XML) и сохранил их в файловой системе: на данный момент нет адов отображения, нет преждевременного выбора (и даже возможность испортить ^ W редактируем ваши пользовательские настройки в вашем любимом текстовом редакторе, прямо на сервере, да;)

Тем не менее, существует масса хороших фреймворков для этой работы, в Scala или из экосистемы Java.

Для отображения XML я не считаю, что нативная библиотека Scala - лучший выбор. С его помощью легко создать XML-структуру, но преобразование из XML в объект Scala в лучшем случае ужасно. XStream (http://x -stream.github.io / ) вполне подходит для этого, но вам придется использовать коллекцию Java или добавить свою собственную (и это не было моей идеей о «большинстве»). простой ").

Для отображения JSON в Scala есть несколько действительно хороших библиотек. У Google и других стековых потоков может быть больше деталей, но я знаю, что есть по крайней мере эти два:

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

2 голосов
/ 06 ноября 2011

Обычным решением было бы сохранить настройки в базе данных.Есть ли причина не использовать базу данных?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...