MaxLich, из этого не вполне понятно почему их нельзя в спринг положить.
Фабрика должна быть одна. Она и контролирует выделение коннекшенов в конечном итоге. В случае множества инстансов фабрики управления количеством потоков не будет
Евгений Ромашкан, да, но тут важно, что общаются они не, грубо говоря, процесс->процесс, а процесс->api->процесс. Таким образом, если в какой-то момент топология изменится и один из процессов переедет в отдельную железку на взаимодействие это никак не повлияет.
Пример: сервис 1 хочет список пользователей, который хранится в сервисе 2. Сервис 1 делает http запрос, например, http://service2/users и обрабатывает ответ или ошибку
Это не в качестве издевки - это в качестве намека на бесполезность попытки снять дамп. Можете попробовать снять частичный дамп, исключив таблицу c_123___section.
mysqldump -u user -p database --ignore-table=database.c_123___section > dump.sql
Neoline: При чем тут вообще Линукс и Микрософт? Однако, если сообщество разработчиков ядра Линукс отметит какой-нибудь кусок из ядра как deprecated я предпочту ее не использовать, так как дальнейшая работоспособность его не гарантируется и может вообще пропасть в будущих версиях. Мотивации по установке статуса устаревания могут быть самые разные - от неэффективности до исправлений кривизны архитектуры, которая мешает дальнейшему развитию.
Вадим Егоров: Я не знаю насколькоо надежен и эффективен метод mysql_real_escape_string (кстати, что я должен буду использовать, если у меня Оракл?). Однако, согласно комментарию выше, он deprecated. Одного этого для меня бы хватило, чтобы стараться его не использовать в своем проекте.
neol: Ну я тут готов согласиьтся, что на каждый запрос лепить по PS - нет никакого смысла. Идея - в наличие реюзабельного шаблона. Query Cache для PS тоже работает, хоть и с некоторыми ограничениями. Вообще последнее утверждение сильно зависит от используемой БД. например, Оракл умеет реюзать execution plan'ы, если использовался JDBC PreparedStatement. Я, к сожалению, не знаю PHP, так что могу аппелировать только к java.
Можно хранить снаружи war'ника - достаточно путь указать к пропертям.
Да любой DI фреймворк, в принципе, это умеет. Полегче будет guice. Вообще спринг с приходом аннотаций пару лет назад стал гораздо легче с точки зрения объема конфигурационных файлов.
По поводу п.3 - это так или иначе будет кастомный код, который будет разбираться с вашим конфигом. Как вариатнт - FactoryBean, который создаст нужный Singleton.
Он вам в логи выдает ход процесса сборки. Чтобы лучше понять, что именно значит каждая строчка, рекомендую ознакомиться с документацией на gradle. Она простая и понятная. https://docs.gradle.org/current/userguide/userguide
Я, на самом деле, признаю что это только мой опыт и у кого-то он может отличаться.