Hibernate кеш - это локальный кеш на вашем веб-сервере. Данные кэшируются локально, как и когда ваше веб-приложение их читает.
В вашем случае вам необходим распределенный кеш, такой как redis, в котором ваше веб-приложение и клиент Java могут обмениваться данными
Это, кажется, работает хорошо на меня:
MailSettingsSectionGroup mailSettings =
config.GetSectionGroup("system.net/mailSettings")
as MailSettingsSectionGroup;
if (mailSettings != null)
{
string smtpServer = mailSettings.Smtp.Network.Host;
}
Вот мой app.config файл:
<configuration>
<system.net>
<mailSettings>
<smtp>
<network host="mail.mydomain.com" />
</smtp>
</mailSettings>
</system.net>
</configuration>
Однако, как указано Nathan, можно использовать приложение или конфигурационные файлы машины для определения хоста по умолчанию, порта и значений учетных данных для всего объекты SmtpClient. Для получения дополнительной информации см. < mailSettings> Элемент на MDSN.
Не уверенный, если это помогает, но при попытке сделать SmtpClient, который будет автоматически использовать значения в Вашем файле конфигурации, если Вы будете использовать конструктора по умолчанию.
Для доступа к настройкам почты я использовал следующее:
var config = ConfigurationManager.OpenExeConfiguration(
ConfigurationUserLevel.None);
var mailSettings = config.GetSectionGroup("system.net/mailSettings")
as MailSettingsSectionGroup;