|
|
|
spring, tomcat - конфигурирование установки
|
|||
|---|---|---|---|
|
#18+
привет. я хочу сделать, чтобы приложение устанавливалось простым киданием war-ки в нужный каталог томката. как известно, она сама распаковывается и деплоится. мы потом можем подправить конфигурационные файлы, такие как web-xml или applicationContext, и все будет работать. но в war - файле-то останутся какие-то настройки по умолчанию! и если клиенту придет новая версия и они ее кинут в web-apps, опять все сломается. как правильно разделять настройки? чтобы, предположительно, было место, например, в lib томката, где мог бы жить applicationcontext, который бы перезаписывал настройки из warки. есть такое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2014, 17:02 |
|
||
|
spring, tomcat - конфигурирование установки
|
|||
|---|---|---|---|
|
#18+
Контексты и развёртывание . Настройки могут и должны выноситься за пределы контекста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2014, 17:22 |
|
||
|
spring, tomcat - конфигурирование установки
|
|||
|---|---|---|---|
|
#18+
не совсем понятно куда мне класть applicationContext.xml и файл маппинга hibernate, чтобы такие же файлы из war файла не могли изменить настроенное в файлах, настроенных на конкретный деплоймент должно быть какое-то стандартное место, которое spring и hibernate читают, когда они работают под томкатом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 15:45 |
|
||
|
spring, tomcat - конфигурирование установки
|
|||
|---|---|---|---|
|
#18+
аувв, Настройки объединяются в 3 группы. - Настройки текущего состояния сервера. Хранятся в базе. Спокойно переносятся между версиями. - Настройки текущей версии приложения. Хранятся в приложении. Спокойно переносятся между серверами и мигрируются в новых версиях без проблем. - Настройки соединения с базой, хранятся в сервере приложений. Приложение спокойно переносится между серверами. Вроде всё просто. У вас какие-то особые "настройки" и они не в одну из групп не попадают? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 15:51 |
|
||
|
spring, tomcat - конфигурирование установки
|
|||
|---|---|---|---|
|
#18+
Blazkowiczаувв, Настройки объединяются в 3 группы. - Настройки текущего состояния сервера. Хранятся в базе. Спокойно переносятся между версиями. - Настройки текущей версии приложения. Хранятся в приложении. Спокойно переносятся между серверами и мигрируются в новых версиях без проблем. - Настройки соединения с базой, хранятся в сервере приложений. Приложение спокойно переносится между серверами. Вроде всё просто. У вас какие-то особые "настройки" и они не в одну из групп не попадают?например, в третью группу у меня попадает настройка маппинга hibernate. у меня файл hibernate.hbm.xml лежит в пап... директории src\main\resources. и на него ссылка в applicationCOntext.xml, такого вида: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. вот мой вопрос: куда бы мне этот hibernate.hbm.xml положить. это настройка базы. она чуть-чуть разная для каждой инсталляции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 16:34 |
|
||
|
spring, tomcat - конфигурирование установки
|
|||
|---|---|---|---|
|
#18+
ауввнапример, в третью группу у меня попадает настройка маппинга hibernate. Ошибочно попадают. аувву меня файл hibernate.hbm.xml лежит в пап... директории src\main\resources. То есть можно считать что в исходниках. аувв Код: xml 1. А это зачем? аувв вот мой вопрос: куда бы мне этот hibernate.hbm.xml положить. В приложение. Это 2я группа. ауввэто настройка базы. Нет. Это настройка ORM. ауввона чуть-чуть разная для каждой инсталляции. Таки для каждой? Или, если подумать, то разница только в диалекте SQL и типах? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 16:39 |
|
||
|
spring, tomcat - конфигурирование установки
|
|||
|---|---|---|---|
|
#18+
Blazkowiczаувв вот мой вопрос: куда бы мне этот hibernate.hbm.xml положить. В приложение. Это 2я группа. ауввэто настройка базы. Нет. Это настройка ORM. ауввона чуть-чуть разная для каждой инсталляции. Таки для каждой? Или, если подумать, то разница только в диалекте SQL и типах? спасибо. нет, в каждой инсталляции бывают разные одно-два поля в паре таблиц. то есть, в моем случае это - настройка приложения и третья группа. буду благодарен, если вы или кто-то другой мне поможет с такими условиями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 16:49 |
|
||
|
spring, tomcat - конфигурирование установки
|
|||
|---|---|---|---|
|
#18+
Blazkowiczаувв Код: xml 1. А это зачем?считайте, что этого нет =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 16:50 |
|
||
|
spring, tomcat - конфигурирование установки
|
|||
|---|---|---|---|
|
#18+
ауввнет, в каждой инсталляции бывают разные одно-два поля в паре таблиц. А если сделать над собой усилие и попытаться объяснить зачем так, то можно будет подумать и принять решение к чему именно эти настройки отосятся. ауввто есть, в моем случае это - настройка приложения и третья группа. буду благодарен, если вы или кто-то другой мне поможет с такими условиями. То есть. Реально, на UAT, QA, у каждого Developer-а и в каждом экземпляре Production - везде абсолютно разная структура определенных таблиц? Или как? Объясните, или продолжать угадывать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 16:53 |
|
||
|
spring, tomcat - конфигурирование установки
|
|||
|---|---|---|---|
|
#18+
Blazkowiczауввнет, в каждой инсталляции бывают разные одно-два поля в паре таблиц. А если сделать над собой усилие и попытаться объяснить зачем так, то можно будет подумать и принять решение к чему именно эти настройки отосятся.я принял решение - к третьему типу из вашего списка. вопрос не в том, к какому типу относятся настройки. вопрос, как мне именно эти настройки сделать настройками третьего типа. Blazkowiczауввто есть, в моем случае это - настройка приложения и третья группа. буду благодарен, если вы или кто-то другой мне поможет с такими условиями. То есть. Реально, на UAT, QA, у каждого Developer-а и в каждом экземпляре Production - везде абсолютно разная структура определенных таблиц? Или как? Объясните, или продолжать угадывать?у каждого клиента. кроме того, клиенту (его админам) предлагается самому немного менять схему данных. вы задаете эти вопросы, чтобы предложить мне удобный и зрелый фреймворк с визуальным редактором схемы, где часть схемы закрыта от редактирования клиентом, а в остальном отсутствуют ограничения, обычно накладываемые всякими редакторами database-aware форм типа seibel или там 1с? за это я тоже был бы благодарен, потому что ничего лучше, скажем, интерфейса sql server management studio или аналогичного для oracle для описания схемы я пока не видел, но она, естественно, не защищает от админа-дурака. в остальных - то нельзя, это недописали, а сами они порождают тупейшие create table или хранят все в entity-attribute-value структуре, которой потом пользоваться невозможно, замучаешься джоинить. впрочем, можно не вступать в дискусию на тему "понимаю ли я что делаю", а просто подсказать, как мне вынести настройку схемы/маппинга и положить ее рядом с приложением ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 17:22 |
|
||
|
spring, tomcat - конфигурирование установки
|
|||
|---|---|---|---|
|
#18+
ауввя принял решение - к третьему типу из вашего списка. вопрос не в том, к какому типу относятся настройки. вопрос, как мне именно эти настройки сделать настройками третьего типа. Это очень радостно. Но как вам помочь, не понимая нюансов и требований? Обычно в таких случаях на все советы я получаю ответ вида "мне не подходит, потому что у меня ещё одно непреодолимое требование, которое я не сочел нужным упомянуть ранее". аувву каждого клиента. кроме того, клиенту (его админам) предлагается самому немного менять схему данных. Хорошо. Тогда возникает вопрос каким образом это связано с ORM который не предполагает динамической схемы принципиально. И исходня из этого возникает рецепт - разделять ORM маппинг и то что связано с динамической моделью. аувввы задаете эти вопросы, чтобы предложить мне удобный и зрелый фреймворк с визуальным редактором схемы Каким образов вспылвает тема визуальное редактора ко всему сказаному выше мне не очень понятно. ауввгде часть схемы закрыта от редактирования клиентом, а в остальном отсутствуют ограничения, обычно накладываемые всякими редакторами database-aware форм типа seibel или там 1с? за это я тоже был бы благодарен, потому что ничего лучше, скажем, интерфейса sql server management studio или аналогичного для oracle для описания схемы я пока не видел, но она, естественно, не защищает от админа-дурака. Почему бы не разделить всё это богатство на два namespace или схемы? Мне всё ещё не понятно почему ORM применяется для динамической схемы? Вы потом классы генерите и отдаёте клиету? аувва сами они порождают тупейшие create table или хранят все в entity-attribute-value структуре, которой потом пользоваться невозможно, замучаешься джоинить. Это правильно. Просто теперь стало совсем не понятно, зачем тут ORM. аувввпрочем, можно не вступать в дискусию на тему "понимаю ли я что делаю", а просто подсказать, как мне вынести настройку схемы/маппинга и положить ее рядом с приложением Динамическая схема, мапиться на динамические классы, которые потом кто использует? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 17:31 |
|
||
|
spring, tomcat - конфигурирование установки
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, может быть, орм не предполагает динамической схемы, но у hibernate есть возможность управлять схемой через этот файл, с помощью волшебного "hibernate.hbm2ddl.auto=update". далее, схема мапится не на динамические классы, а на родной java.util.Map, с помощью этого: http://docs.jboss.org/hibernate/stable/core.old/reference/en/html/persistent-classes-dynamicmodels.html мы избегаем необходимости писать и перекомпилировать кучу классов при изменении схемы, и не пользуемся динамическим компилированием (или как там оно правильно называется). > Почему бы не разделить всё это богатство на два namespace или схемы? не очень представляю, как. у одного клиента требование ФИО, а другой хочет еще титул и обращение. легче всего, чтобы у каждого была своя версия таблицы person. > Динамическая схема, мапиться на динамические классы, которые потом кто использует? они а) используются в jsp для отображения данных. нет ничего проще чем работать с java.util.Map в EL-выражениях: ${person.firstName}. Клиент (в смысле, покупатель системы) может еще и дизайном представления управлять без меня. б) смогут использоваться в crud rest-сервисах. jackson сможет сделать java.util.Map из json, и в обратную сторону. использовать jsf не планируется. даже хочу избежать использования spring-mvc, но это еще не факт. так далеко я еще не думал ну что не так?? =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 18:05 |
|
||
|
spring, tomcat - конфигурирование установки
|
|||
|---|---|---|---|
|
#18+
пока думаю, напишу тупейший crud-сервлет, без использования spring-mvc. 4 метода реализовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 18:07 |
|
||
|
spring, tomcat - конфигурирование установки
|
|||
|---|---|---|---|
|
#18+
ауввдалее, схема мапится не на динамические классы, а на родной java.util.Map, с помощью этого: Ну, вот, это же уже разговор по делу. аувв> Почему бы не разделить всё это богатство на два namespace или схемы? не очень представляю, как. у одного клиента требование ФИО, а другой хочет еще титул и обращение. легче всего, чтобы у каждого была своя версия таблицы person. В любом случае выходит есть разные hbm файлы. Одни для статической модели. И отдельный файл, для динамической модели, который можно хранить где угодно (даже CLOB-ом в базе). Собсветнно это 1й пункт, а не 3й, как вы ошибочно приняли решение. Если файл хранить отдельно от базы, его нужно переносить вместе с бекапами базы. А если хранить в базе и загружать предварительно через JDBC, то проблемы переместимости быза данных не будет. ауввони Ну, теперь-то вырисовывается более менее стройная картина. Всего лишь надо было нормально объяснить. ауввну что не так?? =) Всё так. Храните этот конфиг CLOB-ом в базе. Загружате перед конфигурацией Hibernate и добавляте в конфигурацию хоть через Hibernate API, хоть через Spring. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 18:21 |
|
||
|
spring, tomcat - конфигурирование установки
|
|||
|---|---|---|---|
|
#18+
Blazkowiczауввну что не так?? =) Всё так. Храните этот конфиг CLOB-ом в базе. Загружате перед конфигурацией Hibernate и добавляте в конфигурацию хоть через Hibernate API, хоть через Spring.а какие волшебные слова мне надо написать в applicationContext для этого? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 19:09 |
|
||
|
spring, tomcat - конфигурирование установки
|
|||
|---|---|---|---|
|
#18+
аувва какие волшебные слова мне надо написать в applicationContext для этого? Можно скачивать из базы в файловую систему и добавить ресурс как file:// Можно посмотреть исходник\доку LocalSessionFactoryBean разобраться с там как добавить динамически Resource, например InputStreamResource или ByteArrayResource. Сделать свой наследник этого класса с init методом, который бы создавал такой ресурс и добавлял к другим указаным в Spring. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 19:29 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38652324&tid=2127125]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
169ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 493ms |

| 0 / 0 |
