2016-03-01 4 views
0

У нас есть огромное корпоративное приложение, в котором есть много записей JNDI, написанных внутри файла context.xml. В настоящее время файл context.xml хранится внутри папки META-INF нашего приложения. Нам нужно переместить его из приложения и сервера, чтобы мы могли изменять записи JNDI всякий раз, когда это необходимо. Мы не можем хранить его в корневой папке tomcat, так как мы используем файл изображения для запуска сервера, и мы не сможем получить доступ к файлам внутри сервера.Можно ли импортировать файл jNDI context.xml из файловой системы в приложение Spring?

Так что я хотел бы знать, можно ли импортировать файл контекста JNDI из файловой системы, используя весну? Если не весна, есть ли у нас другие альтернативы, чтобы это сделать? Я занимаюсь исследованиями в течение 2 дней и пока не нашел решения.

EDIT: Да, я принимаю все эти ответы, и это так, как мы это делали все эти годы. Либо сохраните файл context.xml в папке meta-inf внутри приложения, либо сохраните его в каталоге conf conf или поместите его в conf/catalina/localhost/warfilename.xml. Все эти подходы работают. Но теперь мы проводим исследование о том, возможно ли иметь файл xml за пределами сервера в нашей локальной файловой системе, и либо tomcat, либо наше приложение импортирует его. Пожалуйста, дайте мне знать, если это возможно. Это своего рода исследование, которое мы делаем.

Причина в том, что мы будем продавать наши продукты большому количеству клиентов, и у нас есть наш продукт в виде файла изображения. Для каждого клиента мы не можем создать файл изображения отдельно. Поэтому мы просто пытаемся переместить файл context.xml за пределы нашего изображения и сохранять его настраиваемым вне нашего приложения или сервера, чтобы мы могли изменять записи jndi, когда мы устанавливаем наш продукт на машине клиента.

Пожалуйста, дайте мне знать, если вопрос еще не ясен. Я очень благодарю вас за вашу помощь.

Спасибо, Санджай

+0

* Вся идея * файла context.xml заключается в том, что он * уже есть * вне самого приложения. В файловой системе, а не в коде. – EJP

ответ

1

Я не понимаю, что вы пытаетесь сделать.

JNDI - это служба поиска имен и каталогов для серверной части. Клиентам необходимо изменить , а не.

context.xml должен находиться в папке Tomcat /conf. Ни о чем.

Я предполагаю, что «клиент» означает пользовательский интерфейс, который говорит на стороне сервера.

Если «клиент» означает «другие приложения, которые выполняются на одном экземпляре Tomcat, то это еще более верно. Почему один клиент должен иметь возможность изменять значение, другие используют?

Spring имеет объект JNDI фабрики. это как весна будет использовать JNDI.

может быть, по этой причине вы не можете найти что-нибудь рассказать вам, как сделать это, что никто не должен делать такие вещи.

это до сих пор не ясно, какие требования вы представляете себе. Просьба уточнить, и я отредактирую.

+0

Извините, что не ясны. Я отредактировал вопрос. Пожалуйста, дайте мне знать, если это возможно. – SanjaySSN

+0

Он не обязательно должен находиться в папке Tomcat 'conf'.Он может быть указан в каталоге META-INF в webapp. – EJP

+0

Я никогда не настраивал Tomcat таким образом. Это проблема сервера приложений, а не приложение. Ресурсы JNDI могут использоваться совместно используемым приложением. Что делать, если они имеют одно и то же имя с противоречивыми значениями? Что происходит тогда? – duffymo