DBCP (Apache Объединение Соединения с базой данных палаты общин) все еще релевантен?

Вам нужно добавить нижний колонтитул в ваш просмотр списка (я предполагаю, что ваш lv означает, что это ListView).

См .: https://stackoverflow.com/a/4265324/783707

. Подводя итог, используйте этот код:

    View footer =  getActivity().inflate(R.layout.footer, null, false);
    lv.addFooterView(footer);

14
задан skaffman 17 January 2011 в 10:22
поделиться

4 ответа

На основе поддержки других плакатов я попытался устранить DBCP и использовать драйвер MySQL JDBC непосредственно (Connector/J 5.0.4). Я не мог сделать так.

Кажется, что, в то время как драйвер действительно обеспечивает основу объединения, он не обеспечивает самую важную вещь: фактический пул (исходный код пригодился для этого). Это оставляют до сервера приложений обеспечить эту часть.

Я бросил другой взгляд на документацию JDBC 3.0 (у меня есть печатный экземпляр чего-то, маркировал "Chapter 11 Connection Pooling", не уверенный точно, куда это прибыло из), и я вижу, что драйвер MySQL следует документу JDBC.

Когда я смотрю на DBCP, это решение начинает иметь смысл. Хорошее управление пулом предоставляет много возможностей. Например, когда Вы производите чистку неиспользованного соединения? каких соединений Вы производите чистку? существует ли жесткий или мягкий предел макс. количества соединений в пуле? необходимо ли протестировать соединение на "живучесть" прежде, чем дать его вызывающей стороне? и т.д.

Сводка: при выполнении автономного JAVA-приложения необходимо пользоваться библиотекой организации пула подключений. Библиотеки организации пула подключений все еще релевантны.

13
ответ дан 1 December 2019 в 12:53
поделиться

DBCP имеет серьезные дефекты. Я не думаю, что это подходит для производственного приложения, особенно когда столько объединения поддержки драйверов в их DataSource исходно.

Солома, которая сломала позвоночник верблюда в моем случае, была, когда я нашел, что весь пул был заблокирован все время, которым новая попытка подключения сделана к базе данных. Так, если что-то происходит с Вашей базой данных, которая приводит к медленным соединениям или тайм-аутам, другие потоки заблокированы, когда они пытаются возвратить соединение с пулом — даже при том, что они сделаны с помощью базы данных.

Пулы предназначены, чтобы улучшить производительность, не ухудшить ее. DBCP является наивным, сложным, и устарел.

7
ответ дан 1 December 2019 в 12:53
поделиться

Люди все еще используют DBCP, я думаю, что он даже стал значением по умолчанию с, в спящем режиме.

РАЗВЕ DBCP не удовлетворяет Ваши текущие потребности?

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

0
ответ дан 1 December 2019 в 12:53
поделиться

Я предпочитаю использовать dbcp или c3p0, потому что они - нейтральный поставщик. Я узнал, по крайней мере, с mysql или оракулом, что каждый раз, когда я пытаюсь сделать что-то с jdbc клиентом, который не является стандартным sql, я должен представить зависимость времени компиляции от классов поставщика. Посмотрите, например, очень раздражающий пример здесь.

Я не уверен в mysql, но оракул использует их определенные, нестандартные классы для организации пула подключений.

1
ответ дан 1 December 2019 в 12:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: