Commit Graph

34 Commits

Author SHA1 Message Date
Domenico Francesco Bruscino dbebf68ae1 ARTEMIS-3165 Update karaf version to 4.3.0 2021-03-08 10:18:52 -05:00
Domenico Francesco Bruscino ba2b891b63 ARTEMIS-3060 Upgrade to Guava 30.1 2021-01-11 12:48:40 +01:00
Domenico Francesco Bruscino 50f7efcfbe NO-JIRA Split commons.dbcp2.version 2020-10-12 15:17:45 +02:00
franz1981 b4532d944d ARTEMIS-2823 Use datasource with JDBC store db connections fixes
It add additional required fixes:
- Fixed uncommitted deleted tx records
- Fixed JDBC authorization on test
- Using property-based version for commons-dbcp2
- stopping thread pool after activation to allow JDBC lease locks to release the lock
- centralize JDBC network timeout configuration and save repeating it
- adding dbcp2 as the default pooled DataSource to be used
2020-10-06 10:19:06 +02:00
Justin Bertram 90853409a0 ARTEMIS-2886 optimize security auth
Both authentication and authorization will hit the underlying security
repository (e.g. files, LDAP, etc.). For example, creating a JMS
connection and a consumer will result in 2 hits with the *same*
authentication request. This can cause unwanted (and unnecessary)
resource utilization, especially in the case of networked configuration
like LDAP.

There is already a rudimentary cache for authorization, but it is
cleared *totally* every 10 seconds by default (controlled via the
security-invalidation-interval setting), and it must be populated
initially which still results in duplicate auth requests.

This commit optimizes authentication and authorization via the following
changes:

 - Replace our home-grown cache with Google Guava's cache. This provides
simple caching with both time-based and size-based LRU eviction. See more
at https://github.com/google/guava/wiki/CachesExplained. I also thought
about using Caffeine, but we already have a dependency on Guava and the
cache implementions look to be negligibly different for this use-case.
 - Add caching for authentication. Both successful and unsuccessful
authentication attempts will be cached to spare the underlying security
repository as much as possible. Authenticated Subjects will be cached
and re-used whenever possible.
 - Authorization will used Subjects cached during authentication. If the
required Subject is not in the cache it will be fetched from the
underlying security repo.
 - Caching can be disabled by setting the security-invalidation-interval
to 0.
 - Cache sizes are configurable.
 - Management operations exist to inspect cache sizes at runtime.
2020-08-26 13:36:24 -05:00
brusdev 70a465c398 ARTEMIS-2737 Update apache commons-text version to 1.8 2020-04-25 17:20:55 +02:00
brusdev 431bb87b03 ARTEMIS-2703 Update commons-configuration2 version to 2.7 2020-04-13 10:53:35 -04:00
Andrius Dagys f1474ce7c8 ARTEMIS-1194 Add SOCKS support
Add a Netty socks proxy handler during channel initialisation to allow
Artemis to communicate via a SOCKS proxy. Supports SOCKS version 4a & 5.
Even if enabled in configuration, the proxy will not be used when the
target host is a loopback address.
2020-03-07 21:35:38 +00:00
yang wei 76d420590f ARTEMIS-2399 Improve performance when there are a lot of subscribers 2019-08-19 16:43:44 +01:00
Benjamin Graf e3ec7aa5fd ARTEMIS-2376 Remove guava from artemis-common feature 2019-06-17 22:32:57 -04:00
Justin Bertram 5768f6e2f3 ARTEMIS-2308 Support exporting metrics 2019-05-29 15:07:45 -04:00
Clebert Suconic 061fb2787e ARTEMIS-1977 Stripping activemq-artemis as a separated proejct 2019-03-07 11:34:15 -05:00
Justin Bertram 4a1fc61fcc ARTEMIS-2243 user/role ops for PropertiesLoginModule via mgmnt 2019-02-07 10:16:01 -05:00
jpoth 2394626521 [ARTEMIS-1724] Create Artemis Openwire client Karaf feature 2018-03-05 15:12:23 -06:00
jpoth cef1cc8f8d [ARTEMIS-1630] Create Artemis Client features 2018-01-24 09:43:03 +01:00
Ryan Yeats 59ec22962b ARTEMIS-1443 Fix issue starting artemis in osgi with CORE protocol 2017-10-02 20:30:34 -04:00
Michael Andre Pearce 0bc5510059 ARTEMIS-1342: Support Netty Native KQueue on macOS
Add support for KQueue for when server or client runs on macOS. This is inline with the epoll support for linux.
2017-08-09 15:23:16 -04:00
Michael André Pearce 684dd24cc7 ARTEMIS-1335 Update Netty to 4.1.14
Update Netty to 4.1.14
2017-08-09 15:20:49 -04:00
Guillaume Nodet b6dcff039f [ARTEMIS-1196] Fix missing JSON support 2017-06-22 12:16:25 -04:00
Guillaume Nodet f46fa8b927 [ARTEMIS-1141] Fix some OSGi metadata issues 2017-05-05 08:18:39 +02:00
Guillaume Nodet 9e165d1733 [ARTEMIS-1141] Validate Karaf features using the karaf plugin 2017-05-03 22:06:32 +02:00
Michael Andre Pearce 40fc2b7721 ARTEMIS-1138 OSGI Netty Epoll Fix
* update qpid jms to 0.22 to pick up epoll change there.
* update netty to 4.1.9 to avoid version issues as qpid also uses.
* add netty-transport-native-epoll bundle to netty-core feature
2017-05-02 13:00:10 -04:00
Ryan Yeats fd12266449 ARTEMIS-860 add artemis-openwire protocol to osgi feature and fix bundle issues 2016-11-19 08:55:58 -07:00
Dejan Bosanac 2a47619c4e Netty upgrade OSGi fix 2016-10-11 14:32:10 +02:00
Clebert Suconic a838bf0479 ARTEMIS-751 Simplification of the AMQP implementation
Since we don't need client implementations any longer, given the maturity level of
qpid jms, these classes can go, as a result a lot of the interfaces can be removed.

As part of this I am removing proton-plug, and reorganizing the packages in a way I think it
makes more sense and easier to other developers to understand and maintain it.

https://issues.apache.org/jira/browse/ARTEMIS-751
2016-09-27 09:29:40 -04:00
John D. Ament d0ecf0f3a5 ARTEMIS-565 Replace json.org with javax.json
Javax.json is a newer JSR, but has an ASF compliant version, is pretty close to the original JSON.org API and will support a standard annotation based JSON-B solution at some point soon.
Updated integration tests and removed JSON.org from license.
2016-07-25 21:44:57 -04:00
Dejan Bosanac d891e47774 ARTEMIS-537 - final improvements to OSGi integration and documentation update 2016-05-27 13:51:21 +02:00
Dejan Bosanac e994eda356 ARTEMIS-521 - OSGi support - add unit test
ARTEMIS-521 - OSGi support - move unit test to integration tests
2016-05-19 11:53:31 -05:00
Dejan Bosanac 84801b06f5 ARTEMIS-521 - fix OSGi support 2016-05-16 12:08:29 -04:00
Claus Ibsen daf4c84b07 Make it easier to install artemis on karaf 2015-12-27 09:24:17 +01:00
jbertram 05382ac068 ARTEMIS-309 upgrade commons-collections 2015-12-09 09:56:05 -06:00
Christian Schneider 3357ca5542 ARTEMIS-93 Add default config to feature 2015-11-30 15:40:17 +01:00
Christian Schneider 8cc6c2f5fc More checkstyle fixes 2015-11-24 14:55:35 +01:00
Christian Schneider be9dad3f2b OSGi support based on branch from gnodet 2015-11-24 11:12:10 +01:00