Go to file
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
.github IDEMPIERE-4360 exclude generate and test code to speed up (#440) 2020-12-06 16:50:14 +01:00
db IDEMPIERE-4723 Clean up iDempiere's code / clean db folder (#1106) 2022-01-04 10:50:41 +08:00
doc IDEMPIERE-4488 Remove .classpath from repository (#607) 2021-03-03 00:02:03 +01:00
event.test IDEMPIERE-4488 Remove .classpath from repository (#607) 2021-03-03 00:02:03 +01:00
lib IDEMPIERE-2910:update.sh run with issue 2015-11-10 17:07:12 +07:00
migration IDEMPIERE-5013 Implement HikariCP as a replacement for c3p0 (#926) 2022-09-10 12:21:57 +02:00
migration-historic IDEMPIERE-3655 Improve installer to include migration scripts and syncApplied / move old migration folders to migration-historic - just keep the folders > i4.1 in migration 2018-03-14 18:14:09 -03:00
org.adempiere.base IDEMPIERE-5013 Implement HikariCP as a replacement for c3p0 (#926) 2022-09-10 12:21:57 +02:00
org.adempiere.base-feature IDEMPIERE-5163 2022-01 Platform update (#1142) 2022-01-25 15:58:06 +01:00
org.adempiere.base.callout IDEMPIERE-5302 - Drill Assistant Feature with re-generated migration scripts (#1390) 2022-08-17 18:08:45 +08:00
org.adempiere.base.process IDEMPIERE-5376 CConnection and DB clean up (#1441) 2022-08-13 12:05:52 +02:00
org.adempiere.eclipse.equinox.http.servlet iIDEMPIERE-5109 Release 9 Horizon - set master in v10 (#1092) 2021-12-24 17:18:24 +01:00
org.adempiere.install IDEMPIERE-5163 2022-01 Platform update (#1142) 2022-01-25 15:58:06 +01:00
org.adempiere.payment.processor iIDEMPIERE-5109 Release 9 Horizon - set master in v10 (#1092) 2021-12-24 17:18:24 +01:00
org.adempiere.payment.processor-feature iIDEMPIERE-5109 Release 9 Horizon - set master in v10 (#1092) 2021-12-24 17:18:24 +01:00
org.adempiere.pipo IDEMPIERE-5368 Pack In doesn't close resources properly on failure (#1424) 2022-08-05 09:49:10 +08:00
org.adempiere.pipo-feature iIDEMPIERE-5109 Release 9 Horizon - set master in v10 (#1092) 2021-12-24 17:18:24 +01:00
org.adempiere.pipo.handlers IDEMPIERE-5148 PackOut DataSingle for Column doesn't create the column in the target database (#1126) 2022-01-14 09:46:01 +08:00
org.adempiere.plugin.utils IDEMPIERE-5256 Add Cache to MSession Refactor (#1283) 2022-04-20 19:00:13 +08:00
org.adempiere.replication IDEMPIERE-4586 Update translation of Client to Tenant (#1233) 2022-03-12 16:59:32 +01:00
org.adempiere.replication-feature iIDEMPIERE-5109 Release 9 Horizon - set master in v10 (#1092) 2021-12-24 17:18:24 +01:00
org.adempiere.replication.server IDEMPIERE-236 Centralization of hardcoded IDs (#1429) 2022-08-09 22:12:54 +08:00
org.adempiere.replication.server-feature iIDEMPIERE-5109 Release 9 Horizon - set master in v10 (#1092) 2021-12-24 17:18:24 +01:00
org.adempiere.report.jasper IDEMPIERE-4753 Make printing filename configurable / peer review (#1274) 2022-03-31 15:01:09 +02:00
org.adempiere.report.jasper-feature iIDEMPIERE-5109 Release 9 Horizon - set master in v10 (#1092) 2021-12-24 17:18:24 +01:00
org.adempiere.report.jasper.library iIDEMPIERE-5109 Release 9 Horizon - set master in v10 (#1092) 2021-12-24 17:18:24 +01:00
org.adempiere.server IDEMPIERE-236 Centralization of hardcoded IDs (#1429) 2022-08-09 22:12:54 +08:00
org.adempiere.server-feature IDEMPIERE-5402 Replace Jfree Chart with Billboard (#1463) 2022-09-07 00:36:43 +02:00
org.adempiere.ui IDEMPIERE-5326: Parsing error for report view if where clause and vir… (#1385) 2022-09-07 21:45:23 +08:00
org.adempiere.ui.zk IDEMPIERE-5413 PO is Immutable in Report Wizard (#1473) 2022-09-09 14:32:33 +02:00
org.adempiere.ui.zk-feature IDEMPIERE-5402 Replace Jfree Chart with Billboard (#1463) 2022-09-07 00:36:43 +02:00
org.apache.ecs iIDEMPIERE-5109 Release 9 Horizon - set master in v10 (#1092) 2021-12-24 17:18:24 +01:00
org.compiere.db.oracle.provider IDEMPIERE-5013 Implement HikariCP as a replacement for c3p0 (#926) 2022-09-10 12:21:57 +02:00
org.compiere.db.postgresql.provider IDEMPIERE-5013 Implement HikariCP as a replacement for c3p0 (#926) 2022-09-10 12:21:57 +02:00
org.compiere.db.provider-feature iIDEMPIERE-5109 Release 9 Horizon - set master in v10 (#1092) 2021-12-24 17:18:24 +01:00
org.idempiere.eclipse.platform-feature IDEMPIERE-5301 2022-05 Platform Update (#1347) 2022-06-01 13:57:17 +08:00
org.idempiere.equinox.p2.director-feature IDEMPIERE-5301 2022-05 Platform Update (#1347) 2022-06-01 13:57:17 +08:00
org.idempiere.felix.webconsole iIDEMPIERE-5109 Release 9 Horizon - set master in v10 (#1092) 2021-12-24 17:18:24 +01:00
org.idempiere.felix.webconsole-feature iIDEMPIERE-5109 Release 9 Horizon - set master in v10 (#1092) 2021-12-24 17:18:24 +01:00
org.idempiere.hazelcast.service iIDEMPIERE-5109 Release 9 Horizon - set master in v10 (#1092) 2021-12-24 17:18:24 +01:00
org.idempiere.hazelcast.service-feature iIDEMPIERE-5109 Release 9 Horizon - set master in v10 (#1092) 2021-12-24 17:18:24 +01:00
org.idempiere.javadoc iIDEMPIERE-5109 Release 9 Horizon - set master in v10 (#1092) 2021-12-24 17:18:24 +01:00
org.idempiere.jetty.osgi.boot.fragment iIDEMPIERE-5109 Release 9 Horizon - set master in v10 (#1092) 2021-12-24 17:18:24 +01:00
org.idempiere.keikai IDEMPIERE-5288 org.zkoss.poi.POIXMLException attaching XLSX file (#1320) 2022-05-11 23:12:26 +08:00
org.idempiere.maven.to.p2 IDEMPIERE-4933 Platform update for 9.x (#857) 2021-09-04 16:12:10 +02:00
org.idempiere.p2 IDEMPIERE-5392 Maven Build: add flag to skip auto clean (#1447) 2022-08-22 17:09:33 +02:00
org.idempiere.p2.repackaged iIDEMPIERE-5109 Release 9 Horizon - set master in v10 (#1092) 2021-12-24 17:18:24 +01:00
org.idempiere.p2.targetplatform IDEMPIERE-5361 : Jasper reports with Charts are not working (#1452) 2022-08-26 09:35:54 +08:00
org.idempiere.p2.targetplatform.mirror IDEMPIERE-5314 Add support to create local target platform mirror (#1362) 2022-06-22 16:30:01 +02:00
org.idempiere.p2.targetplatform.mirror.aggregator IDEMPIERE-5314 Add support to create local target platform mirror (#1362) 2022-06-22 16:30:01 +02:00
org.idempiere.p2.targetplatform.mirror.feature IDEMPIERE-5314 Add support to create local target platform mirror (#1362) 2022-06-22 16:30:01 +02:00
org.idempiere.parent IDEMPIERE-5392 Maven Build: add flag to skip auto clean (#1453) 2022-08-25 10:49:31 +02:00
org.idempiere.printformat.editor iIDEMPIERE-5109 Release 9 Horizon - set master in v10 (#1092) 2021-12-24 17:18:24 +01:00
org.idempiere.test IDEMPIERE-5402 Replace Jfree Chart with Billboard (#1463) 2022-09-07 00:36:43 +02:00
org.idempiere.test-feature iIDEMPIERE-5109 Release 9 Horizon - set master in v10 (#1092) 2021-12-24 17:18:24 +01:00
org.idempiere.webservices IDEMPIERE-5376 CConnection and DB clean up (#1441) 2022-08-13 12:05:52 +02:00
org.idempiere.webservices-feature iIDEMPIERE-5109 Release 9 Horizon - set master in v10 (#1092) 2021-12-24 17:18:24 +01:00
org.idempiere.webservices.client-feature iIDEMPIERE-5109 Release 9 Horizon - set master in v10 (#1092) 2021-12-24 17:18:24 +01:00
org.idempiere.zk-feature iIDEMPIERE-5109 Release 9 Horizon - set master in v10 (#1092) 2021-12-24 17:18:24 +01:00
org.idempiere.zk.billboard IDEMPIERE-5400 - Gauge Indicator Style and Color Improvement (#1470) 2022-09-09 14:14:50 +08:00
org.idempiere.zk.billboard.chart IDEMPIERE-5402 Replace Jfree Chart with Billboard (#1463) 2022-09-07 00:36:43 +02:00
org.idempiere.zk.extra iIDEMPIERE-5109 Release 9 Horizon - set master in v10 (#1092) 2021-12-24 17:18:24 +01:00
utils_dev IDEMPIERE-4719 Create Oomph project setup model (#681) 2021-05-11 07:25:29 +08:00
.gitignore IDEMPIERE-4488 Remove .classpath from repository (#607) 2021-03-03 00:02:03 +01:00
CODE_OF_CONDUCT.md Update CODE_OF_CONDUCT.md 2019-12-12 19:55:19 +01:00
CONTRIBUTING.md Create How to contribute file 2019-12-12 18:10:10 +01:00
Credits.html IDEMPIERE-4580 - Add missing top contributors to credits page (#1279) 2022-04-05 10:31:30 +08:00
LICENSE.md Update LICENSE.md (#1132) 2022-01-14 10:02:43 +08:00
README.md Update README.md 2019-12-12 20:03:58 +01:00
RUN_SyncDBDev.sh IDEMPIERE-4602 Encrypt passwords on properties files (FHCA-1982) (#498) 2021-01-03 22:19:49 +08:00
SECURITY.md IDEMPIERE-5109 Release 9 Horizon (#1088) 2021-12-24 18:05:32 +08:00
adempiere-local-template.properties added adempiere properties file template 2010-07-20 13:48:24 +08:00
license.html Update LICENSE.md (#1132) 2022-01-14 10:02:43 +08:00
note.for.update.readme IDEMPIERE-3531: note 2018-09-12 00:55:12 +07:00
pom.xml IDEMPIERE-5402 Replace Jfree Chart with Billboard (#1463) 2022-09-07 00:36:43 +02:00
testTemplate.properties Fix notation of template file 2010-03-26 18:28:42 +00:00
zk.xml IDEMPIERE-3552:update to zk 8.5.0 2017-11-17 02:42:14 +07:00

README.md

iDempiere. Community Powered Enterprise

iDempiere Business Suite ERP/CRM/SCM done the community way. Focus is on the Community that includes Subject Matter Specialists, Implementors and End-Users.

Please visit the project front page containing links for most of our resources: https://www.idempiere.org/

You can have a first-hand experience about the software in one of our live cloud test sites: https://www.idempiere.org/test-sites

If you want to install it by yourself, the most used way is to follow the guide: https://wiki.idempiere.org/en/Installing_iDempiere

In case of doubts please use our support forums at http://groups.google.com/group/idempiere
Or our Mattermost support channel in https://mattermost.idempiere.org/
Don't forget to check our code of conduct and our contribution guide

If you find a bug or want to register a feature request please consider discussing it first in our forums, and after you're totally sure, please use the JIRA ticketing system: https://idempiere.atlassian.net

Continuous integration when changing this repository is managed with Jenkins at http://ci.idempiere.org/