2016-11-07 4 views
0

У меня есть очень интересное требование добавить строку комментария (например, /*Query Hint VPOD100*/), прежде чем каждый запрос будет выполнен через JNDI. Есть ли способ изменить запрос и комментарий (или подсказку запроса) перед каждым запросом?Как настроить добавление строки комментария перед запросом в JNDI

Пожалуйста, найдите конфигурацию JNDI, которую я использую в jboss-as-7.2.0.Final.

<datasource jndi-name="java:/avalon-ds" pool-name="avalon-ds" enabled="true" use-ccm="false"> 
    <connection-url>jdbc:teradata://env.corp.xyz.com/charset=UTF8,DBC_PORT=1025</connection-url> 
    <driver-class>com.teradata.jdbc.TeraDriver</driver-class> 
    <driver>TeradataDriver</driver> 
    <new-connection-sql>select 1</new-connection-sql> 
    <pool> 
     <min-pool-size>2</min-pool-size> 
     <max-pool-size>4</max-pool-size> 
     <prefill>true</prefill> 
     <use-strict-min>true</use-strict-min> 
     <flush-strategy>IdleConnections</flush-strategy> 
    </pool> 
    <security> 
     <user-name>user</user-name> 
     <password>password</password> 
    </security> 
    <validation> 
     <check-valid-connection-sql>select 1</check-valid-connection-sql> 
     <validate-on-match>true</validate-on-match> 
     <background-validation>true</background-validation> 
     <background-validation-millis>3000</background-validation-millis> 
    </validation> 
    <timeout> 
     <blocking-timeout-millis>60000</blocking-timeout-millis> 
     <idle-timeout-minutes>5</idle-timeout-minutes> 
    </timeout> 
    <statement> 
     <share-prepared-statements>false</share-prepared-statements> 
    </statement> 
</datasource> 

Пожалуйста, дайте мне знать, если есть какие-либо вопросы. Спасибо, что рассмотрели мой вопрос.

+0

AFAICT вы не можете настроить это из элемента ['datasource'] (http://www.ironjacamar.org/doc/userguide/1.1/en-US/html_single/index.html#deployingds). Я не вижу возможности делать то, что вы хотите. –

+0

спасибо TT за ваши комментарии. –

+0

Возможно, если вы сделаете это, это не может быть сделано из опции в элементе данных, вы должны перефразировать свой вопрос + заголовок? –

ответ

0

Вместо того, чтобы использовать комментарии аннотации:

@Comment("Query Hint VPOD100") 
... method 

Для соблюдения затем обработки аннотаций можно, или с помощью отражения, или закреплять в проверке.

Не совсем то, что вы хотели, но даже немного более оперативно.

+0

Привет, Joop, спасибо за ваш ответ. существует еще одна бизнес-логика, заключающаяся в добавлении этих строк комментариев, используемых в шлюзе базы данных и балансировщиках нагрузки. Задача состоит в том, чтобы внести изменения в конфигурацию, не касаясь базы кода, чтобы изменять запросы и добавлять подсказки. –