Получить имя хоста при развертывании tomcat-приложения - PullRequest
0 голосов
/ 11 марта 2020

У меня есть задача использовать имя хоста в Spring-database-configuration.

Например, когда приложение развернуто на db-запросах localhost для отправки на localhost: 5432 / база данных, в противном случае - включено (например) 172.18.0.2:5432/database.

I ' я пытаюсь использовать Spring SpEL для этой цели:

 <bean id="dataSource"
      class="org.apache.tomcat.jdbc.pool.DataSource"
      p:driverClassName="org.postgresql.Driver"
      p:url="#{'jdbc:postgresql://' + @bUrl.getHost=='localhost'?'localhost':'172.18.0.2' + ':5432/infostock'}"
       />

В этом выражении мне нужно идентифицировать bUrl. Он должен содержать информацию об имени хоста.

Но как я могу получить эту информацию:

 <bean class="java.net.URI" id="bUrl">
    <constructor-arg value="${???????}"/>
</bean>

Существуют ли специальные переменные?

Я пытался получить имя хоста из HttpServletRequest, но проблема в том, что приложение может выполнять запросы после стадии развертывания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...