core-jgi/migration/iD10/postgresql
Jasper Siepkes 861e3ad01f
IDEMPIERE-5013 Implement HikariCP as a replacement for c3p0 (#926)
* Replaced PostgreSQL and Oracle connection pools with HikariCP.

Replaced C3P0 with HikariCP. HikariCP is a Apache licensed connection pool with substantially better performance and better resilience to failure (DB disconnects, etc.) then C3P0. Read more about it here: https://github.com/brettwooldridge/HikariCP .

Cleaned up the `getCachedConnection` method. With HikariCP there is no need to retry to obtain a connection since getting an connection will block until a free connection is available or until a timeout is reached (default 30 seconds) at which point an `SQLException` is thrown. This also removed calling `Runtime.getRuntime().runFinalization();`. HikariCP is currently configured to detect / log leaks when a connection hasn't returned to the pool for longer then 5 minutes.

Loading of pool config properties was cleaned up. Defaults are now loaded from a single file instead of defaults coming from both file and hardcoded properties. It is now also possible to specify any HikariCP property in the user pool property file.

Initialization of the datasource must happen in the `getDataSource()` method because at object construction not all JDBC config is known. However this method could (as far as I could tell) be called concurrently from multiple threads but had no mechanism to prevent initializing the DB pool multiple times. The variable in which the pool itself was stored (`m_ds`) also was not marked volatile or immutable which could lead to visibility issues. Instead of lazy initialization of the pool in the `getDataSource()` method the pool could probably better be initialized at object construction. However I wasn't able to achieve that without breakage therefor I made the initialization mechanism work correctly with concurrent invocations.

Various config options such as the `MaxStatementsPerConnection` options were removed because HikariCP doesn't support them.

* (Re)added Sequence time-out.
2022-09-10 12:21:57 +02:00
..
202202072157_IDEMPIERE-5174.sql
202202111643_IDEMPIERE-4788.sql
202202151954_IDEMPIERE-3595.sql
202202171829_IDEMPIERE-2946.sql
202202232008_IDEMPIERE-5202.sql
202202251053_IDEMPIERE-1981.sql
202202271650_IDEMPIERE-2567.sql
202202280901_IDEMPIERE-5206.sql
202203020949_IDEMPIERE-2081.sql
202203022014_IDEMPIERE-5213.sql
202203031552_IDEMPIERE-5202.sql
202203041241_IDEMPIERE-1450.sql
202203081457_IDEMPIERE-4586.sql
202203101742_IDEMPIERE-2494.sql
202203151430_IDEMPIERE-5232.sql
202203161513_IDEMPIERE-5225.sql
202203171131_IDEMPIERE-2975.sql
202203171454_IDEMPIERE-5056.sql
202203211620_IDEMPIERE-5083.sql
202203240830_IDEMPIERE-5093.sql
202203261837_IDEMPIERE-4550.sql
202203281643_IDEMPIERE-4771.sql
202203290700_IDEMPIERE-5057.sql IDEMPIERE-5057 Implement Deductible and non deductible input tax for purchasing and costing (#1277) 2022-05-12 11:12:05 +02:00
202203291027_IDEMPIERE-5247.sql
202203301514_IDEMPIERE-5243.sql
202204011738_IDEMPIERE-5057.sql IDEMPIERE-5057 Implement Deductible and non deductible input tax for purchasing and costing (#1277) 2022-05-12 11:12:05 +02:00
202204041140_IDEMPIERE-5093.sql
202204050300_IDEMPIERE-5088.sql
202204071051_IDEMPIERE-5082.sql
202204071450_IDEMPIERE-5082.sql
202204111508_IDEMPIERE-5093.sql
202204131552_IDEMPIERE-5088.sql
202204190945_IDEMPIERE-5261.sql
202204280337_IDEMPIERE-5260.sql IDEMPIERE-5260 Enhance Discount Schema for Fixed Pricing (#1313) 2022-05-11 18:39:58 +02:00
202204291835_IDEMPIERE-5088.sql
202205031611_IDEMPIERE-5245.sql
202205120916_IDEMPIERE-5275.sql IDEMPIERE-5275 - Tabular Report Re-Query button/close paramater window (#1306) 2022-05-13 22:14:59 +08:00
202205131118_IDEMPIERE-5259.sql IDEMPIERE-5259 Labels feature (#1357) 2022-08-01 21:51:38 +02:00
202205181247_IDEMPIERE-2058.sql IDEMPIERE-2058 - ** New Report ** - improve for handling Forms too (#1335) 2022-06-25 15:07:07 +02:00
202205192100_IDEMPIERE-5245.sql IDEMPIERE-5245-ad_message Fix typos in dictionary (#1361) 2022-06-09 17:41:22 +02:00
202205261621_IDEMPIERE-5304.sql IDEMPIERE-5304 - Missing Message from Payment (#1346) 2022-05-31 15:25:50 +08:00
202206171231_IDEMPIERE-5319.sql IDEMPIERE-5319 - Delete Record with Confirmation Logic (#1371) 2022-06-27 11:26:38 +02:00
202206221758_IDEMPIERE-5300.sql IDEMPIERE-5300 ErrorMsg doesn't show full message + LifeTime Msg conf… (#1342) 2022-06-24 16:34:19 +08:00
202206241449_IDEMPIERE-5259.sql IDEMPIERE-5259 Labels feature (#1357) 2022-08-01 21:51:38 +02:00
202206282000_IDEMPIERE-5295.sql IDEMPIERE-5295: Trial Balance Report creates Opening balance per orga… (#1378) 2022-07-06 19:53:15 +08:00
202206291714_IDEMPIERE-5259.sql IDEMPIERE-5259 Labels feature (#1357) 2022-08-01 21:51:38 +02:00
202207081747_IDEMPIERE-5302.sql IDEMPIERE-5302 - Drill Assistant Feature with re-generated migration scripts (#1390) 2022-08-17 18:08:45 +08:00
202207121657_IDEMPIERE-5342.sql IDEMPIERE-5342 : Ability to hide the title of the chart when displaye… (#1392) 2022-07-21 20:09:11 +08:00
202207141111_IDEMPIERE-1963.sql IDEMPIERE-1963 - vendor RMA form legacy (#1409) 2022-07-25 16:13:56 +08:00
202207181552_IDEMPIERE-1965.sql IDEMPIERE-1965 - Implement Generate Invoices (manual) as Info Window (#1400) 2022-08-01 20:41:39 +02:00
202207191251_IDEMPIERE-1963.sql Idempiere-1963 - Implement Generate Shipments (manual) as Info Window (#1394) 2022-07-20 14:47:32 +02:00
202207211214_IDEMPIERE-5353.sql IDEMPIERE-5353 Entity type field in the Column tab becomes read-only when you enter a wrong value (#1405) 2022-07-21 17:08:05 +02:00
202207291542_IDEMPIERE-5359.sql IDEMPIERE-5359 Unit test not working with Oracle (#1414) 2022-07-31 19:22:06 +02:00
202208072022_IDEMPIERE-5013.sql IDEMPIERE-5013 Implement HikariCP as a replacement for c3p0 (#926) 2022-09-10 12:21:57 +02:00
202208181113_IDEMPIERE-5389.sql IDEMPIERE-5389 - Dashboard row layout (#1448) 2022-08-30 10:11:42 +02:00
202208220922_IDEMPIERE-5393.sql IDEMPIERE-5393 - Allow rendering status line as widget/gadget in dashboard (#1449) 2022-08-24 15:49:06 +08:00
202208301110_IDEMPIERE-5400.sql IDEMPIERE-5400 - Dashboard Goal Content should render as single Gauge Indicator (#1458) 2022-09-07 21:40:29 +08:00
202209061547_IDEMPIERE-5409.sql IDEMPIERE-5409 - Dashboard Content - Maximizable checkbox (#1467) 2022-09-07 17:00:18 +08:00
202209080926_IDEMPIERE-5412.sql IDEMPIERE-5412 - Improve Dashboard Theme Look (#1471) 2022-09-09 14:55:54 +08:00
202209081125_IDEMPIERE-5400.sql IDEMPIERE-5400 - Gauge Indicator Style and Color Improvement (#1470) 2022-09-09 14:14:50 +08:00
build.xml