2012-06-26 78 views
1

這是我跟進我早些時候發佈的question,在那裏我被建議使用連接池連接到我的Postgres數據庫。根據Postgres' jdbc4文檔,他們提到可以使用兩種類型的池。一個帶有應用程序服務器,另一個沒有應用程序服務器。我打算不會因爲我稍後提出的原因而使用應用程序服務器。我對連接池一個簡單的問題沒有一個應用程序服務器:Postgres沒有應用程序服務器的SQL池連接

如果你確定你想,如果需要使用這個,那麼你必須設置屬性了dataSourceName,的databaseName,用戶和密碼(用戶)。 serverName,portNumber,initialConnections和maxConnections的設置是可選的。請注意,只有默認用戶的連接纔會合併!其他用戶的連接將是正常的非池連接,並不會計入最大池大小限制。

什麼是默認用戶?它是Postgres數據庫用戶/角色嗎?將這些軟件包添加到我的前端是否足夠,並且只有一臺服務器專門用於運行Postgres?

我之所以傾向於這個,是因爲我之前和Glassfish一起工作過,雖然數據源的連接和持久性很輕鬆,但我遇到了從已經創建的Postgres數據庫中生成實體類的問題(240桌,請參閱herehere)。

因此,我拋棄了使用EJB和Glassfish的想法,而是使用了一個簡單的單例模式和一個jdbc連接來連接到我的數據庫。 該應用程序運行速度非常快,這就是爲什麼我傾向於不使用應用程序服務器。這是一個正確的印象還是我錯誤地通知?

+0

「默認」用戶是在連接池屬性中定義的用戶。 –

+0

謝謝。如果我選擇了像c3p0這樣的框架,我只需要將其添加到我的應用程序中...並且不會更改我的服務器上的任何內容,對吧?我的服務器只有Postgres SQL。 – greatkalu

+0

正確。連接池僅與應用程序服務器相關。 PostgreSQL不會知道連接是否來自池。 –

回答

0

首先,有太多的信息來確定應用程序服務器是否有幫助。通常它不是速度問題,更重要的是在整個企業的不同應用程序中重複使用邏輯。

其次,對於連接池,您必須記住的是您不能將一個用戶的連接重新用作另一個用戶。因此,您希望通常具有單個應用程序用戶下的連接池。這在連接池級別配置。你可以有多個連接池將不同用戶的不同應用連接到數據庫。

相關問題