Jboss/TEIID 中 SQL Server 连接的无锁定提示

发布于 2025-01-20 11:01:31 字数 2069 浏览 1 评论 0原文

如何在JBOSS连接设置中没有锁定提示选项。传递TransAction_Read_Read_uncommitting标志正确吗?即使我在连接设置中有此标志,我仍然会看到lck_m_sch_s在进行更新/插入语句时,请等待JBOSS连接到SQL Server的等待类型。 以下是我在jboss的ostalone.xml文件中设置的内容:

<datasource jndi-name="java:/SourceModel" pool-name="SourceModel" enabled="true">
    <connection-url>jdbc:sqlserver://server:1433;integratedSecurity=true;authenticationScheme=NTLM;domain=domain.net;databaseName=dbname;sendStringParametersAsUnicode=false</connection-url>
    <driver>sqlserver</driver>
    <transaction-isolation>TRANSACTION_READ_UNCOMMITTED</transaction-isolation>
    <pool>
        <min-pool-size>0</min-pool-size>
        <max-pool-size>60</max-pool-size>
        <prefill>true</prefill>
        <use-strict-min>true</use-strict-min>
        <flush-strategy>IdleConnections</flush-strategy>
    </pool>
    <security>
        <security-domain>SourceModelSecurityDomain</security-domain>
    </security>
    <validation>
        <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mssql.MSSQLValidConnectionChecker"/>
        <check-valid-connection-sql>select 1</check-valid-connection-sql>
        <validate-on-match>true</validate-on-match>
        <use-fast-fail>false</use-fast-fail>
        <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.novendor.NullExceptionSorter"/>
    </validation>
    <timeout>
        <blocking-timeout-millis>30000</blocking-timeout-millis>
        <idle-timeout-minutes>30</idle-timeout-minutes>
    </timeout>
    <statement>
        <track-statements>false</track-statements>
        <prepared-statement-cache-size>400</prepared-statement-cache-size>
        <share-prepared-statements>true</share-prepared-statements>
    </statement>
</datasource>

How can one pass no lock hint option in Jboss connection settings. Is passing the TRANSACTION_READ_UNCOMMITTED flag correct? Even though I have this flag in connection setting, I still see a LCK_M_SCH_S wait type for Jboss connection to SQL Server when there is a update/insert statement in progress.
Below is what I have setup in standalone.xml file for Jboss:

<datasource jndi-name="java:/SourceModel" pool-name="SourceModel" enabled="true">
    <connection-url>jdbc:sqlserver://server:1433;integratedSecurity=true;authenticationScheme=NTLM;domain=domain.net;databaseName=dbname;sendStringParametersAsUnicode=false</connection-url>
    <driver>sqlserver</driver>
    <transaction-isolation>TRANSACTION_READ_UNCOMMITTED</transaction-isolation>
    <pool>
        <min-pool-size>0</min-pool-size>
        <max-pool-size>60</max-pool-size>
        <prefill>true</prefill>
        <use-strict-min>true</use-strict-min>
        <flush-strategy>IdleConnections</flush-strategy>
    </pool>
    <security>
        <security-domain>SourceModelSecurityDomain</security-domain>
    </security>
    <validation>
        <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mssql.MSSQLValidConnectionChecker"/>
        <check-valid-connection-sql>select 1</check-valid-connection-sql>
        <validate-on-match>true</validate-on-match>
        <use-fast-fail>false</use-fast-fail>
        <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.novendor.NullExceptionSorter"/>
    </validation>
    <timeout>
        <blocking-timeout-millis>30000</blocking-timeout-millis>
        <idle-timeout-minutes>30</idle-timeout-minutes>
    </timeout>
    <statement>
        <track-statements>false</track-statements>
        <prepared-statement-cache-size>400</prepared-statement-cache-size>
        <share-prepared-statements>true</share-prepared-statements>
    </statement>
</datasource>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文