Как работает P6SPY? - PullRequest
       27

Как работает P6SPY?

5 голосов
/ 15 июля 2011

Почти все в вопросе. Я только что обнаружил p6spy в сочетании с hibernate, который действительно хорош для просмотра реальных SQL-запросов, хотя я весьма озадачен тем, как он работает.
Итак, как это работает?

1 Ответ

2 голосов
/ 08 сентября 2013

Основная идея p6spy выглядит так:

  1. в зависимости от того, наберете ли вы Datasource или JDBC driver в своем коде, то, что вы делаете, вместо того, чтобы ссылаться на реальные, вы указываете p6spy конкретные: com.p6spy.engine.spy.P6SpyDriver или com.p6spy.engine.spy.P6DataSource соответственно (для полной документации см .: p6spy.readthedocs.io / en / latest / configandusage.html ).
  2. после этого вы конфигурируете реальные в вашем файле spy.properties (используя свойства realdriver или realdatasource соответственно)
  3. В зависимости от конфигурации, вы можете добиться регистрации операторов SQL (используя com.p6spy.engine.logging.P6LogFactory)
  4. поэтому, чтобы ответить на ваш вопрос, идея заключается в том, что все вызовы jdbc (выполнение операторов, связанные с транзакциями вещи) будут упакованы (проксированы) p6spy, и в зависимости от вашей конфигурации они могут быть зарегистрированы через файловый регистратор (используя 1020 *), stdout logger (с использованием appender=com.p6spy.engine.logging.appender.StdoutLogger) или log4j logger (с использованием: appender=com.p6spy.engine.logging.appender.Log4jLogger)

Если вас интересует более подробная информация, не стесняйтесь спрашивать или проверить сам проект по: https://github.com/p6spy/p6spy

...