Изменить с общего на неразделенное соединение

Как я могу перейти от общих подключений (что по умолчанию) к неразделенному подключению.?

И как убедиться, что соединение с источником данных, которым я пользуюсь, не является общим?

1 ответ

Вам необходимо определить ссылку на ресурс, например, с помощью аннотации или дескриптора развертывания:

Аннотация:

@Resource(shareable=false)
DataSource datasource;

Дескриптор развертывания:

  <resource-ref>
    <res-ref-name>jdbc/mydbdatasourceRef</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    <res-sharing-scope>Unshareable</res-sharing-scope>
  </resource-ref>

И если вы используете дескриптор развертывания, убедитесь, что поиск осуществляется по ссылке - java:comp/env/jdbc/mydbdatasourceRef - не глобальное имя jndi.

ОБНОВИТЬ

Вам не нужно устанавливать defaultConnectionTypeOverride или же globalConnectionTypeOverrideони позволяют вам установить общий доступ без ссылок или переопределить ссылки.

defaultConnectionTypeOverride - свойство defaultConnectionTypeOverride изменяет значение общего доступа по умолчанию для пула соединений. Это свойство позволяет вам управлять общим доступом к соединению для прямого поиска. Если ссылки на ресурсы настроены для источника данных или фабрики соединений, они имеют приоритет над этим свойством и используются параметры ссылок на ресурсы.

globalConnectionTypeOverride - значение, указанное для настраиваемого свойства globalConnectionTypeOverride, имеет приоритет над всеми остальными параметрами общего подключения. Например, если вы установите для этого свойства значение unhared, все запросы на подключение не будут использоваться совместно как для прямого, так и для справочного поиска ресурсов.

Для получения дополнительной информации проверьте пользовательские свойства пула соединений в Центре знаний.

Другие вопросы по тегам