Commit Graph

13 Commits

Author SHA1 Message Date
Carlos Ruiz c5c05385ec
IDEMPIERE-5013 upgrade JDBC libraries to latest version (#1475) 2022-09-10 13:42:55 +02:00
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
Carlos Ruiz d8278d9026
IDEMPIERE-5196 PostgreSQL JDBC 42.3.3 (#1192) 2022-02-18 23:48:13 +08:00
Carlos Ruiz c5c334d5e9
IDEMPIERE-4933 Platform update for 9.x / latest postgresql version (#992) 2021-11-19 21:46:42 +08:00
hengsin ae5a665dd8
IDEMPIERE-4933 Platform update for 9.x (#857)
* IDEMPIERE-4933 Platform update for 9.x

- WIP

* IDEMPIERE-4933 Platform update for 9.x

- project to repackaged some osgi bundles from maven

* IDEMPIERE-4933 Platform update for 9.x

- Fix target platform error

* IDEMPIERE-4933 Platform update for 9.x

* IDEMPIERE-4933 Platform update for 9.x

- minor eclipse setting fix
2021-09-04 16:12:10 +02:00
Carlos Ruiz 8103ab0732 IDEMPIERE-4604 Release 8.2
Change references to new version
Create new migration folder
2020-12-20 10:15:20 +01:00
Carlos Ruiz 210e54b05f IDEMPIERE-4521 Release 8.1 - RC
Change versions in pom and manifest files
2020-11-03 21:59:12 +01:00
hieplq 58258ad506
Idempiere-4492 update library (eclipse-4.17, jasper 6-15, jetty-9.4.33, atmosphere-2.6.4) (#331)
* IDEMPIERE-4492 update jetty to 9.4.33.v20201020 update atmosphere to 2.5.15

* IDEMPIERE-4492 update jetty to 9.4.33.v20201020 (update configuration)

update to default jetty configuration
delete unused configuration (alpn, http2,..)

* IDEMPIERE-4492 update orbit eclipse repository to 4.17

* IDEMPIERE-4492 update orbit eclipse repository to 4.17 (on parent pom)

* IDEMPIERE-4492 update jasper to 6.15.0

* IDEMPIERE-4492 update jasper to 6.15.0 (IDEMPIERE-4504)

get rid of bundle "org.w3c.dom.events version 3.0.0" by use old version of org.w3c.dom.smil

note: on target platform a bundle has multi version then tycho can pickup correct version define on feature (tab included plugins, field version)
but on eclipse when sync launching from .product it don't respect that value, always set highest version to bundle
workaround: on target platform manual un-select bundle org.w3c.dom.smil 1.0.1

* IDEMPIERE-4492 update atmosphere to 2.6.4

* IDEMPIERE-4492 refine target platform

use targetplatform-dsl to generate target platform https://github.com/eclipse-cbi/targetplatform-dsl
   + don't need to care update bundle version when update repository
   + at moment org.idempiere.eclipse.platform-feature include some feature form eclipse repository
     so target has to include that feature so target platform will include all bundler request by feature and bundle request by plugins of that feature and so on (ever optional
     so it make target content has more plugins than what we use on project
     next step will convert include feature to include plugins to define only what we used

* IDEMPIERE-4492 refine target platform (continue)

don't include framework feature, use include plugins to void load transitive dependency so minimize target flatform
remove some unused feature from idempiere product

* IDEMPIERE-4492 update c3p0 and database jdbc (patch from Carlos)
2020-10-31 06:53:36 +08:00
Carlos Ruiz 64eadf1822 release 7.1 process - set version in configuration files 2019-11-21 23:28:48 +01:00
Carlos Ruiz 9487335169 Preparing release 6.2 - upgrade versions 2019-01-05 23:56:28 +01:00
Carlos Ruiz 7eeb4a8463 More versioning for 6.1 2018-11-04 18:32:21 -02:00
hieplq b2fa99b192 IDEMPIERE-3798:Move iDempiere default branch to openjdk 10 (update lib)
update jetty to 12
update almost library to latest version
change org.eclipse.jdt.core.compiler.batch to org.eclipse.jdt.core
change javax.management.j2ee-api to org.apache.geronimo.specs.geronimo-j2ee-management_1.1_spec, reduce dependency and correct dependency of activeMQ
javax.activation to com.sun.activation.javax.activation
lib for service will take from library instea of jdk
groovy to date
2018-10-23 09:36:53 +07:00
hieplq 9482f02dec IDEMPIERE-3531:add maven tycho configuration 2018-02-10 16:42:06 +07:00