Добавление пользовательского объекта в JNDI в Weblogic 10 - PullRequest
10 голосов
/ 11 января 2010

Можно ли добавить пользовательский объект (строку или URL-адрес) в JNDI с помощью консоли администрирования Weblogic Server (Weblogic 10.0) или путем редактирования файла конфигурации сервера (config.xml)?

Ответы [ 3 ]

5 голосов
/ 11 января 2010

Я так не думаю. Цитирование Загрузка объектов в дерево JNDI :

Используя Консоль администрирования, вы можете загружать службы и компоненты J2EE WebLogic Server, такие как RMI, JMS, EJB и источники данных JDBC, в дерево JNDI.

И действительно, я не смог найти способ добавить String или URL с помощью консоли.

AFAIK, стандартным способом является добавление env-entry в дескриптор развертывания (web.xml, ejb-jar.xml):

<env-entry>
    <env-entry-name>string/foo</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>foobar</env-entry-value>
</env-entry>

<env-entry>
    <env-entry-name>url/bar</env-entry-name>
    <env-entry-type>java.net.URL</env-entry-type>
    <env-entry-value>http://foobar/</env-entry-value>
</env-entry>
1 голос
/ 19 августа 2014

Вы можете потерять высокую доступность при использовании кластера. См: http://docs.oracle.com/cd/E11035_01/wls100/jndi/jndi.html#wp475702

1 голос
/ 09 мая 2011

Я достиг этого с точно такой же проблемой. Например, в Websphere я могу добавить произвольные параметры, такие как временные каталоги, пароли и другую информацию, в JNDI без необходимости перекомпиляции / перестройки EAR.

Я искал некоторое время и, похоже, в Weblogic нет этой функции. Я написал вспомогательный класс, который сначала ищет в JNDI заданный ключ конфигурации, а если он не находит его, возвращается к среде поиска или системным переменным.

Возможно, это может быть улучшено, чтобы также искать те свойства, начинающиеся с имени приложения или корневого контекста приложения, обнаруженные во время выполнения, чтобы избежать конфликтов имен при развертывании нескольких экземпляров одного EAR.

...