Я обновляю устаревшее веб-приложение Java (сервлеты и JSP), которое я унаследовал. Веб-приложение отправляет электронную почту и использует около 12 списков адресов электронной почты. Адреса электронной почты жестко запрограммированы в веб-приложении. Естественно, я хочу поместить эти списки адресов электронной почты в файл и прочитать их в веб-приложении.
В старые времена я помещал эти списки в файл * .properties в корневом каталоге веб-приложения.
Я предполагаю, что объекты Properties и файлы * .propertie - не современный Java-способ сделать это.
У меня есть один выбор - поместить каждый список электронной почты в файл web.xml как <context-param>
, где <param-value>
- это список адресов электронной почты через запятую. Затем я бы извлекал каждый список по имени с помощью context.getInitParameter (), а затем писал функцию для токенизации электронных писем и помещал каждый список в ArrayList. Моя интуиция говорит мне, что это более грязно, чем должно быть.
Я бы хотел, чтобы мой конфигурационный файл был дружественным по отношению к технологиям, как файл свойств, с комментариями, пробелами, парами ключ-значение, т.е.
########################################
## This file lists the email lists
#########################################
customerList = joeblow@gmail.com,sara@yahoo.com
managerList = jack@biz.com,jane@bigorg.gov
##########################################
## end of file
##########################################
Такой файл будет содержать 12 таких списков с примерно 10 различными адресами электронной почты
Я знаю, как использовать класс Properties, чтобы найти такой файл внутри WAR и очень легко загрузить его в объект свойств.
Проблема заключается в том, как изящно получить каждый из этих 12 списков из объекта свойств, токенизироваться и в отдельный ArrayList (с именованной ссылкой)
Прав ли я, предполагая, что класс Prooperties устарел в современных коллекциях? Я предполагаю, что нужно использовать класс Scanner для чтения и токенизации файла в карту, где каждый ключ является именем списка адресов электронной почты, а каждое значение - массивом адресов электронной почты.
Я не уверен, как бы сложил все это вместе с типом файла, который я описал выше.
Любые предложения.
Моя цель - сделать это сначала самым простым, а затем самым современным способом (у меня есть книга о коллекциях и дженериках, но я все еще ее ассимилирую).
Заранее спасибо за любую помощь или идеи
Steve