У меня есть задача использовать имя хоста в 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, но проблема в том, что приложение может выполнять запросы после стадии развертывания.