Commit Graph

45 Commits

Author SHA1 Message Date
Jasper Siepkes 0173bbd296
Fixed user defined JDBC URL override not working. (#1499)
Fixes logic error in the way a user defined `jdbcUrl` in
`hikaricp.properties` is handled.

Additionally changed the default max pool size to the previous limit of
90 connections. PR #926 originally also had this but this apparantly
fell out. Testing showed that during first time server startup a flood
of connection can be made and a connection pool of 30 can be
overwhelmed and callers waiting on a connection will time-out.
2022-09-26 15:45:05 +08: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 fa62f421b9
iIDEMPIERE-5109 Release 9 Horizon - set master in v10 (#1092) 2021-12-24 17:18:24 +01: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
hengsin fadc540557
IDEMPIERE-4635 Model Generator launch configuration broken (#515)
* IDEMPIERE-4635 Model Generator launch configuration broken

* IDEMPIERE-4635 Model Generator launch configuration broken

fix other launch configuration
2021-01-08 16:56:21 +01: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 6390ce20cd IDEMPIERE-4604 Release 8.2
Fix warnings on MANIFEST.MF
2020-12-20 09:53:21 +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
hieplq 595e0df99c
Idempiere-4298:support update jdk (jdk 12 13 14) (#69)
* IDEMPIERE-4298: remove Bundle-RequiredExecutionEnvironment

when build by tycho value of Bundle-RequiredExecutionEnvironment and jdt need to compatibility
in case we use Bundle-RequiredExecutionEnvironment = 11 then can't build by jdk != 11
so stick on fix value isn't good

eclipse now also support Require-Capability, so don't need Bundle-RequiredExecutionEnvironment anymore

* IDEMPIERE-4298:support update jdk (jdk 12 13 14)

default environment still jdk-11 but you can build for any jdk by below command

export JAVA_HOME=path to jdk
mvn verify -Djdk.version=11

in case on JAVA_HOME is jdk 14 then can set jdk.version for 11, 12, 13, 14 and same for other jdk

at moment java 14 just support on eclipse 2020-03 with install plugin
Java 14 Support for Eclipse 2020-03 (4.15)
2020-05-20 11:18:31 +08:00
Carlos Ruiz 2bb4a8ce11 IDEMPIERE-4136: Upgrading Jasper report to version 6.11.0 / PR 2019-12-26 13:22:39 +01:00
Deepak Pansheriya f13bcd6de9 IDEMPIERE-4136: Upgrading Jasper report to version 6.11.0 2019-12-25 20:28:37 +05:30
Carlos Ruiz 64eadf1822 release 7.1 process - set version in configuration files 2019-11-21 23:28:48 +01:00
Heng Sin Low 8f3b199b1f IDEMPIERE-4052 Move to Eclipse 2019-09 and ECJ 3.19.0 2019-09-19 19:57:52 +08:00
Nicolas Micoud 1205178ef0 IDEMPIERE-3904 Harmonize list of component in MANIFEST.MF 2019-02-27 12:51:25 +01:00
Carlos Ruiz e1ce7e9ec9 Backed out changeset c14bc0ce677c - IDEMPIERE-3808 - works fine in 2018-12 but not yet in 2018-09 2019-01-10 15:39:41 +01:00
Carlos Ruiz f79dc728a3 IDEMPIERE-3808:collect info to move idempiere to jdk-11. Fix jdk target environment. As advised by Heng Sin 2019-01-10 15:21:19 +01:00
Carlos Ruiz 090a34eb88 IDEMPIERE-3808:collect info to move idempiere to jdk-11. Fix jdk target environment. / eclipse still doesn't fully support - avoid annoying warning on launcher 2019-01-07 17:58:10 +01:00
Carlos Ruiz d14338729b IDEMPIERE-3808:collect info to move idempiere to jdk-11. Fix jdk target environment. 2019-01-07 13:22:58 +01:00
Carlos Ruiz 9487335169 Preparing release 6.2 - upgrade versions 2019-01-05 23:56:28 +01:00
Carlos Ruiz ac14fcd294 IDEMPIERE-3830 c3p0 defaults are not exploiting the power of c3p0 reliability 2018-11-28 22:17:48 +01:00
Carlos Ruiz ee4303d453 set version to 6.1 2018-11-04 14:47:53 -02:00
hieplq 5e5d79f614 IDEMPIERE-3798:Move iDempiere default branch to openjdk 10 (add Vendor info to bundle) 2018-10-24 13:07:45 +07:00
hieplq 1c5a89128b IDEMPIERE-3798:Move iDempiere default branch to openjdk 10 (Bundle-RequiredExecutionEnvironment)
eclipse don't reconize Bundle-RequiredExecutionEnvironment 10
2018-10-23 17:29:35 +07:00
hieplq 82c8c5b31d IDEMPIERE-3798:Move iDempiere default branch to openjdk 10
change targetPlatform and classpath to JavaSE-10
2018-10-16 07:08:34 +07:00
hieplq fe0f36668b IDEMPIERE-3531: add manifest for java 9 warning 2018-09-11 09:04:49 +07:00
hieplq b6d9886732 IDEMPIERE-3531:standard lib folder
on all project, put library into lib folder, so easy apply parametrize
remove some unuse (don't see reference) library
2018-02-02 13:47:07 +07:00
Carlos Ruiz d63062d0d0 New version 2017-10-31 23:12:29 +01:00
hieplq 333458f8c1 IDEMPIERE-3136:update jasper report to use P2
pending to correct dependency of org.compiere.db.oracle.provider org.compiere.db.postgresql.provider
to org.jfree.io
it better use common from apache or create new one
2017-05-14 20:58:08 +07:00
Carlos Ruiz 3d985bd0ed change references to new version 2016-10-30 20:30:07 +01:00
hieplq 54bca51007 IDEMPIERE-3136:all stuff relate library of idempiere
remove version of dependency bundle
2016-07-07 12:51:24 +07:00
hieplq 116cde1e96 IDEMPIERE-3136:all stuff relate library of idempiere
set runtime of all project to 1.8
2016-07-07 10:59:31 +07:00
Carlos Ruiz 6a8183effa Update product version to 3.1.0 2015-10-30 21:18:07 -05:00
hieplq 1e5df4c39a IDEMPIERE-2907:update library (zk, c3p0)
update c3p0 0.9.5
2015-10-25 22:43:08 +07:00
hieplq fc67e3d668 IDEMPIERE-2892:add config let out put log of c3p0 2015-10-19 20:37:01 +08:00
Carlos Ruiz 4803643ab2 IDEMPIERE-2245 Platform Upgrade for r3 2014-10-29 13:36:29 -05:00
Heng Sin Low 0b2fbe27ae IDEMPIERE-2245 Platform Upgrade for r3. 2014-10-13 11:05:19 +08:00
Heng Sin Low bb6607d553 IDEMPIERE-1561 Update product version to 2.0.0. 2013-11-21 14:32:17 +08:00
Heng Sin Low 8c05b86db1 IDEMPIERE-1093 Database: added connection pool properties file support. 2013-06-21 22:35:31 +08:00
Heng Sin Low e30bded686 IDEMPIERE-770 Upgrade c3p0 to 0.9.2 2013-03-19 13:31:55 +08:00
Heng Sin Low d4e9ae0656 IDEMPIERE-359 Add OSGi Service support for existing extension point. Move more core services to OSGi service. 2012-11-08 17:36:50 +08:00
Heng Sin Low 0ed2e11bd0 Rename default connection pool properties file to server.default.properties and client.default.properties. This change would allow developer to create fragment to contribute a customize server.properties or client.properties 2011-01-19 16:55:38 +08:00
Heng Sin Low ed6f264381 Implemented connection pool properties file support. Added convert statement cache for PostgreSQL. Enhance connection pool ability to survive under heavy load. 2010-11-29 11:35:13 +08:00
Heng Sin Low af5cd44af8 Implemented db configuration as extension. Remove JVM type checking. 2010-11-29 01:59:28 +08:00
Heng Sin Low 83715fa436 Refactoring to make project and folder name the same as the bundle symbolic name. Migrate to use eclipse feature and product configuration ( build is broken, to fix later ) 2010-09-29 15:25:34 +08:00