Посмотрите главу 5 книги Джошуа Блоха Эффективное программирование на Java. Называется в русском переводе "Средства обобщённого программирования". Там как раз на примере consumer/producer описаны различия.
Если проводить аналогию с книгой, то у всех объектов должен быть уже реализован DataSource, но дополнительно мы делаем квалификатор NoSqlDataSource и SqlDataSource. И ставим у соответствующих классов аннотации @NoSqlDataSource и @SqlDataSource. Но опять же: чем это отличается от реализации классами маркерных интерфейсов NoSqlDataSource и SqlDataSource?
В примере из книги предлагается создавать квалификаторы, то есть такой же Java-файл. Я не рассматриваю сейчас случай, когда квалификатор берётся просто по имени.
Иван Шумов, когда заказчик платит деньги, то нужно решить задачу в системе координат заказчика, а не переносить его сайт на новый сервер под предлогом, что мне так удобнее будет добавить свой небольшой скрипт.
Java 10 промежуточный релиз и скоро устареет
Java от Oracle нельзя использовать https://habr.com/post/424579/
Используйте OpenJDK, но она распространяется в zip-архиве
Каталог public_html у меня уже есть и много каталогов, которые не нужно удалять. Мне нужно установить проект в подкаталог public_html. Получается корень проекта должен быть выше public_html, но это как-то странно, ведь на сервере не только мое веб-приложение в public_html, а еще много другого кода, который писал не я.
pygame, ну а яндекс-касса не может эти чеки виртуально пробивать? Или мне ее купить эту онлайн-кассу, поставить на стол и при поступлении денег на р/с или на карту пробивать чек, чтобы клиенту на почту письмо падало с чеком?
Деньги получать напрямую или на карту с сайта фриланс, там можно привязать любую карту. Получается можно выпустить карту к расчетному счету ИП и на нее пусть сайт фриланса переводит. А те, что напрямую могут же оплачивать через онлайн кассу яндекс-кассы. Такое возможно?