2015-04-13 4 views
3

Параметр unreturnedConnectionTimeout отключает невозвращенные соединения по истечении заданного периода времени. Я пытаюсь решить, следует ли мне использовать это в моей продукции persistence.xml? Большой плюс использования этого заключается в том, что пул соединений сможет восстанавливаться из негерметичных соединений. Большой минус заключается в том, что просачивающиеся соединения будут очень трудно обнаружить.C3P0: unverturnedConnectionTimeout в производстве?

Должен ли я использовать unreturnedConnectionTimeout в производственных приложениях? Если да, какова должна быть его ценность? Есть ли другие плюсы и минусы, которые я должен рассмотреть?

ответ

6

Вы должны отлаживать свои утечки соединения, а затем не использовать unreturnedConnectionTimeout в производстве, в идеале.

Чтобы отладить утечки соединения, установите как unreturnedConnectionTimeout, так и debugUnreturnedConnectionStackTraces, см. http://www.mchange.com/projects/c3p0/#configuring_to_debug_and_workaround_broken_clients Затем, когда у вас больше нет утечек, отключите оба этих параметра.

Вы бы установить unreturnedConnectionTimeout в производстве главным образом, если по каким-то причинам вы не можете отладить и исправить приложение, чьи соединения протекают, в этом случае это разумный обходной путь, чтобы просто установить unreturnedConnectionTimeout и пусть c3p0 очистить то, что ваше приложение забывает ,

Смежные вопросы