activemq-artemis/docs/user-manual/en
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
..
diagrams picture change because of protocols 2015-09-02 09:32:01 -04:00
images ARTEMIS-2265 Support Federated Queues and Addresses 2019-03-07 14:37:00 -05:00
README.md NO-JIRA: Update Logo 2017-07-25 01:51:01 +01:00
SUMMARY.md NO-JIRA improve transformer docs 2019-11-06 09:57:42 -05:00
address-model.md ARTEMIS-2787 - Add ability to disable and enable a queue 2020-06-08 18:02:48 -04:00
amqp.md ARTEMIS-2372 / ARTEMIS-2740 Improving Message Annotations support in AMQP 2020-05-13 10:55:36 -04:00
architecture.md ARTEMIS-1912 big doc refactor 2018-06-07 11:26:36 -04:00
book.json NO-JIRA clean up docs 2017-08-28 21:38:03 -05:00
broker-plugins.md ARTEMIS-1912 big doc refactor 2018-06-07 11:26:36 -04:00
cdi-integration.md ARTEMIS-756 introduce CDI based integration for Artemis. Includes integration tests on both Weld and OWB. 2016-09-29 16:25:47 -04:00
client-classpath.md ARTEMIS-1912 big doc refactor 2018-06-07 11:26:36 -04:00
client-reconnection.md ARTEMIS-1912 big doc refactor 2018-06-07 11:26:36 -04:00
clusters.md NO-JIRA add docs on redistribution w/filters 2019-06-19 12:48:05 -05:00
config-reload.md ARTEMIS-2820 Undeploy diverts by removing them from broker.xml 2020-06-24 22:01:56 +01:00
configuration-index.md ARTEMIS-2679 deprecate message-expiry-thread-priority 2020-03-25 16:43:38 -04:00
configuring-transports.md NO-JIRA document SOCKS proxy support 2020-08-04 11:42:55 -05:00
connection-ttl.md NO-JIRA Doc change. Updating `connectionTtl` to `connectionTTL` 2020-04-13 16:48:07 -04:00
consumer-priority.md NO-JIRA fixed typo in code example 2020-06-09 15:19:48 -04:00
copied-message-properties.md ARTEMIS-2649 always over-write ORIG message props 2020-06-01 15:19:34 -04:00
core-bridges.md NO-JIRA improve transformer docs 2019-11-06 09:57:42 -05:00
core.md ARTEMIS-1912 big doc refactor 2018-06-07 11:26:36 -04:00
critical-analysis.md ARTEMIS-1912 big doc refactor 2018-06-07 11:26:36 -04:00
data-tools.md ARTEMIS-1912 big doc refactor 2018-06-07 11:26:36 -04:00
diverts.md ARTEMIS-2649 always over-write ORIG message props 2020-06-01 15:19:34 -04:00
duplicate-detection.md NO-JIRA clarify default id-cache-size in the doc 2020-03-04 10:56:59 -06:00
embedding-activemq.md Clarify doc on embedding 2020-06-17 12:36:11 -05:00
examples.md NO-JIRA fix up docs for security-ldap example 2020-02-24 13:32:02 -06:00
exclusive-queues.md ARTEMIS-1912 big doc refactor 2018-06-07 11:26:36 -04:00
federation-address.md ARTEMIS-2613: Add support for DivertBindings for federated addresses 2020-02-17 12:15:18 -05:00
federation-queue.md ARTEMIS-2549 - Add Downstream support to Federation 2019-11-20 08:47:16 -05:00
federation.md ARTEMIS-2265 Support Federated Queues and Addresses 2019-03-07 14:37:00 -05:00
filter-expressions.md NO-JIRA Fix documentation typos 2019-03-12 14:48:40 -04:00
flow-control.md ARTEMIS-1987 - Add consumer window size to AddressSettings 2018-07-31 14:16:11 -04:00
graceful-shutdown.md ARTEMIS-1912 big doc refactor 2018-06-07 11:26:36 -04:00
ha.md NO-JIRA clarify check-for-live-server doc 2020-06-17 13:02:14 -05:00
intercepting-operations.md NO-JIRA Fixing markdown format in intercepting-operations.md 2019-04-02 11:09:19 -04:00
jms-bridge.md NO-JIRA Grammar and spelling fixes 2018-10-08 20:45:59 -04:00
jms-core-mapping.md ARTEMIS-1912 big doc refactor 2018-06-07 11:26:36 -04:00
karaf.md NO-JIRA: a few additions and tweaks around OSGI 2016-10-19 13:19:10 -04:00
large-messages.md ARTEMIS-1975 Real Large Message support into AMQP 2020-02-25 15:25:01 +01:00
last-value-queues.md ARTEMIS-2117 Add custom LVQ Key and Non Destructive Queue into Broker 2018-10-17 20:53:13 -04:00
libaio.md NO-JIRA modified ubuntu install instructions for libaio 2019-03-04 16:19:21 -05:00
logging.md NO-JIRA a few updates to the logging doc 2020-08-04 11:21:52 -05:00
management-console.md ARTEMIS-1912 big doc refactor 2018-06-07 11:26:36 -04:00
management.md NO-JIRA Add updateDivert in management doc 2020-07-07 08:20:48 -04:00
masking-passwords.md NO-JIRA fix user command parameter docs 2020-02-05 08:36:34 -06:00
maven-plugin.md ARTEMIS-1912 big doc refactor 2018-06-07 11:26:36 -04:00
message-expiry.md ARTEMIS-2649 always over-write ORIG message props 2020-06-01 15:19:34 -04:00
message-grouping.md [ARTEMIS-2863] Add support to pause dispatch when group rebalance 2020-08-19 12:04:50 -04:00
messaging-concepts.md NO-JIRA Grammar and spelling fixes 2018-10-08 20:45:59 -04:00
metrics.md ARTEMIS-2771 support JVM GC & thread metrics 2020-05-20 15:53:15 -04:00
mqtt.md NO-JIRA clarify & verify web socket support for MQTT 2020-03-05 21:34:53 -05:00
network-isolation.md ARTEMIS-1912 big doc refactor 2018-06-07 11:26:36 -04:00
notice.md ACTIVEMQ6-9 - port to markdown 2014-12-08 13:23:24 +00:00
openwire.md ARTEMIS-2103 - use the full openwire consumer queue for the mapped virtual topic queue binding, fix and test 2018-10-10 18:48:11 -04:00
paging.md ARTEMIS-2466 PageSyncTimer::timeSync isn't configurable using ASYNCIO 2019-11-05 22:44:52 +01:00
perf-tuning.md ARTEMIS-2162 Remove -XX:+AggressiveOpts to improve JDK 11 compatibility 2018-12-13 10:55:30 -06:00
persistence.md ARTEMIS-2358 - Add user and pass to database store to allow encryption 2019-05-29 11:30:35 -05:00
pre-acknowledge.md ARTEMIS-1912 big doc refactor 2018-06-07 11:26:36 -04:00
preface.md ARTEMIS-1912 big doc refactor 2018-06-07 11:26:36 -04:00
project-info.md ARTEMIS-1912 big doc refactor 2018-06-07 11:26:36 -04:00
protocols-interoperability.md Update port number for MQTT + AMQP example 2019-06-26 14:57:38 -05:00
resource-limits.md ARTEMIS-1912 big doc refactor 2018-06-07 11:26:36 -04:00
rest.md NO-JIRA Grammar and spelling fixes 2018-10-08 20:45:59 -04:00
retroactive-addresses.md ARTEMIS-2504 implement retroactive addresses 2019-10-28 09:01:42 -04:00
ring-queues.md ARTEMIS-2457 implement ring queue 2019-08-25 23:29:44 -04:00
scheduled-messages.md ARTEMIS-1912 big doc refactor 2018-06-07 11:26:36 -04:00
security.md ARTEMIS-2886 optimize security auth 2020-08-26 13:36:24 -05:00
send-guarantees.md ARTEMIS-1912 big doc refactor 2018-06-07 11:26:36 -04:00
slow-consumers.md ARTEMIS-1912 big doc refactor 2018-06-07 11:26:36 -04:00
spring-integration.md ARTEMIS-1912 big doc refactor 2018-06-07 11:26:36 -04:00
stomp.md NO-JIRA doc STOMP routing behavior & config options 2020-03-05 20:52:16 -06:00
syntax.md ARTEMIS-1912 big doc refactor 2018-06-07 11:26:36 -04:00
thread-pooling.md NO-JIRA fix warnings from w3c/link-checker in docs 2018-01-10 13:07:40 +01:00
tomcat.md NO-JIRA review docs for content, style, & format 2018-03-08 22:47:10 -05:00
transaction-config.md renamed config to broker.xml 2015-04-29 10:30:32 +01:00
transformers.md NO-JIRA improve transformer docs 2019-11-06 09:57:42 -05:00
undelivered-messages.md ARTEMIS-2649 always over-write ORIG message props 2020-06-01 15:19:34 -04:00
unit-testing.md ARTEMIS-1954 eliminate all possible usage of JMSServerManager 2018-07-12 14:24:44 -04:00
upgrading.md NO-JIRA Add version update steps for windows services on doc 2018-09-04 13:26:56 -04:00
using-jms.md NO-JIRA fix JMS destination cache doc 2018-06-13 21:57:15 -05:00
using-server.md ARTEMIS-2579 [DOC] How to use custom logging handlers 2019-12-19 13:03:07 -06:00
versions.md NO-JIRA fuller description of 2.14.0 highlights 2020-08-04 14:32:34 -05:00
web-server.md ARTEMIS-2663 Add customizer support for the embedded web server 2020-03-18 10:01:41 -05:00
wildcard-routing.md ARTEMIS-1912 big doc refactor 2018-06-07 11:26:36 -04:00
wildcard-syntax.md NO-JIRA review docs for content, style, & format 2018-03-08 22:47:10 -05:00

README.md

ActiveMQ Artemis logo

Apache ActiveMQ Artemis User Manual

The User manual is an in depth manual on all aspects of Apache ActiveMQ Artemis