RussianLDP Рейтинг@Mail.ru
WebMoney: 
WMZ Z294115950220 
WMR R409981405661 
WME E134003968233 
Visa 
4274 3200 2453 6495 

Глава 17. Поддержка Connector/J

17.1. Общественная поддержка Connector/J

Можно присоединиться к каналу #connectors в MySQL Community Slack, где можно получить помощь непосредственно от разработчиков MySQL и других пользователей.

17.2. Как сообщить об ошибках Connector/J или проблемах

Нормальным местом, чтобы сообщить об ошибках является http://bugs.mysql.com/, который является адресом для нашей базы данных ошибок. Эта база данных общественная и может быть просмотрена любым. Если вы авторизуетесь в системе, вы также будете в состоянии писать новые отчеты.

Если вы находите чувствительную ошибку безопасности в MySQL Server, пожалуйста, сообщите нам немедленно, послав электронное письмо в . Исключение: клиенты поддержки должны сообщить обо всех проблемах, включая ошибки безопасности, в Oracle Support на http://support.oracle.com/.

Написание хорошего отчета об ошибках требует терпения, но выполнение его экономит время для всех. Хороший отчет об ошибках, содержит полный тестовый скрипт для ошибки и делает очень вероятным ее исправление как можно скорее.

Эта секция поможет вам написать свой отчет правильно так, чтобы вы не тратили впустую свое время.

Если у вас есть повторяемый отчет об ошибках, пожалуйста, сообщите о нем в базе данных ошибок на http://bugs.mysql.com/. У любой ошибки, которую мы в состоянии повторить, есть высокий шанс быть исправленной как можно скорее.

Чтобы сообщить о других проблемах, можно использовать один из списков рассылки MySQL.

Помните, что для нас возможно ответить на сообщение, содержащее слишком много информации, но не на содержащее слишком мало. Люди часто опускают факты, потому что они думают, что знают причину проблемы и предполагают, что некоторые детали не имеют значения.

Хороший принцип: если есть сомнение, пишите об этом. Быстрее и проще написать пару-тройку дополнительных строк в вашем отчете, чем ждать дольше ответа, если мы должны попросить, чтобы вы предоставили информацию, которая отсутствовала в первоначальном сообщении.

Наиболее распространенные ошибки, совершенные в отчетах об ошибках: (a) не включен номер версии Connector/J или MySQL и (b) не полностью описана платформа, на которой устанавливается Connector/J (включая версию JVM, тип платформы и номер версии MySQL).

Это очень релевантная информация, и в 99 случаях из 100 отчет об ошибках бесполезен без нее. Очень часто мы получаем вопросы вроде: почему ничего не работает? Тогда мы находим, что опция, которую требуют, не была реализована в этой версии MySQL, или что ошибка, описанная в отчете, была уже исправлена в более новых версиях MySQL.

Иногда ошибка зависима от платформы; в таких случаях почти невозможно зафиксировать что-либо, не зная операционной системы и номера версии платформы.

Если вообще возможно, создайте повторяемый, автономный тестовый скрипт, который не включает сторонних классов.

Чтобы оптимизировать этот процесс, мы отправляем базовый класс для тестовых скриптов с Connector/J, называемый 'com.mysql.cj.jdbc.util.BaseBugReport'. Чтобы создать тестовый скрипт для Connector/J, используя этот класс, создайте свой собственный класс, который наследует от com.mysql.cj.jdbc.util.BaseBugReport и перекрывает методы setUp(), tearDown() и runTest().

В методе setUp() создайте код, который составляет ваши таблицы и наполняет их любыми данными, чтобы продемонстрировать ошибку.

В методе runTest() создайте код, который демонстрирует ошибку, используя данные, которые вы создали в методе setUp.

В методе tearDown() удалите любые таблицы, которые вы составили в методе setUp().

В любом из вышеупомянутых трех методов используйте один из вариантов метода getConnection(), чтобы создать связь JDBC с MySQL:

  • getConnection(): Обеспечивает связь с URL JDBC, определенным в getUrl(). Если связь уже существует, эта связь возвращена, иначе создается новая связь.

  • getNewConnection(): Используйте это, если необходимо получить новую связь для отчета об ошибках (то есть, существует больше чем одна связь).

  • getConnection(String url): Возвращает связь, используя данный URL.

  • getConnection(String url, Properties props) : Возвращает связь, используя данный URL и свойства.

Если необходимо использовать URL JDBC, который отличается от 'jdbc:mysql:///test', перекройте также метод getUrl().

Используйте assertTrue(boolean expression) и assertTrue(String failureMessage, boolean expression), чтобы создать условия, которые нужно соблюдать в вашем тестовом скрипте, демонстрирующем поведение, которое вы ожидаете (против поведения, которое вы наблюдаете, из-за чего вы подаете отчет об ошибках).

Наконец, создайте метод main(), который создает новый экземпляр вашего тестового и вызывает метод run:

public static void main(String[] args) throws Exception {
  new MyBugReport().run();
}

Как только вы закончили свой тестовый скрипт и проверили, что он демонстрирует ошибку, вы загружаете его со своим отчетом об ошибках на http://bugs.mysql.com/.

Поиск

 

Найди своих коллег!

Вы можете направить письмо администратору этой странички, Алексею Паутову. mailto:alexey.v.pautov@mail.ru