Embedding Apache Activemq Artemis

Embedding Apache Activemq Artemis

Address Federation Table of Contents Introduction 1.1 Legal Notice 1.2 Preface 1.3 Project Info 1.4 Versions 1.5 Messaging Concepts 1.6 Architecture 1.7 Using the Server 1.8 Upgrading 1.9 Address Model 1.10 Protocols and Interoperability 1.11 AMQP 1.12 MQTT 1.13 STOMP 1.14 OpenWire 1.15 Core 1.16 Mapping JMS Concepts to the Core API 1.17 Using JMS 1.18 The Client Classpath 1.19 Examples 1.20 Routing Messages With Wild Cards 1.21 Wildcard Syntax 1.22 Filter Expressions 1.23 Persistence 1.24 Configuring Transports 1.25 Configuration Reload 1.26 Detecting Dead Connections 1.27 Detecting Slow Consumers 1.28 Avoiding Network Isolation 1.29 Detecting Broker Issues (Critical Analysis) 1.30 Resource Manager Configuration 1.31 Flow Control 1.32 Guarantees of sends and commits 1.33 Message Redelivery and Undelivered Messages 1.34 Message Expiry 1.35 1 Address Federation Large Messages 1.36 Paging 1.37 Scheduled Messages 1.38 Last-Value Queues 1.39 Ring Queues 1.40 Retroactive Addresses 1.41 Exclusive Queues 1.42 Message Grouping 1.43 Consumer Priority 1.44 Extra Acknowledge Modes 1.45 Management 1.46 Management Console 1.47 Metrics 1.48 Security 1.49 Masking Passwords 1.50 Broker Plugins 1.51 Resource Limits 1.52 The JMS Bridge 1.53 Client Reconnection and Session Reattachment 1.54 Diverting and Splitting Message Flows 1.55 Core Bridges 1.56 Transformers 1.57 Duplicate Message Detection 1.58 Clusters 1.59 Federation 1.60 Address Federation 1.60.1 Queue Federation 1.60.2 High Availability and Failover 1.61 Graceful Server Shutdown 1.62 Libaio Native Libraries 1.63 Thread management 1.64 Embedded Web Server 1.65 Logging 1.66 REST Interface 1.67 Embedding the Broker 1.68 Apache Karaf 1.69 Apache Tomcat 1.70 Spring Integration 1.71 2 Address Federation CDI Integration 1.72 Intercepting Operations 1.73 Data Tools 1.74 Maven Plugin 1.75 Unit Testing 1.76 Troubleshooting and Performance Tuning 1.77 Configuration Reference 1.78 3 Address Federation Apache ActiveMQ Artemis User Manual The User manual is an in depth manual on all aspects of Apache ActiveMQ Artemis 4 Address Federation Legal Notice Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 5 Address Federation Preface What is Apache ActiveMQ Artemis? Apache ActiveMQ Artemis is an open source project to build a multi-protocol, embeddable, very high performance, clustered, asynchronous messaging system. Apache ActiveMQ Artemis is an example of Message Oriented Middleware (MoM). For a description of MoMs and other messaging concepts please see the Messaging Concepts. Why use Apache ActiveMQ Artemis? Here are just a few of the reasons: 100% open source software. Apache ActiveMQ Artemis is licensed using the Apache Software License v 2.0 to minimise barriers to adoption. Apache ActiveMQ Artemis is designed with usability in mind. Written in Java. Runs on any platform with a Java 8+ runtime, that's everything from Windows desktops to IBM mainframes. Amazing performance. Our ground-breaking high performance journal provides persistent messaging performance at rates normally seen for non- persistent messaging, our non-persistent messaging performance rocks the boat too. Full feature set. All the features you'd expect in any serious messaging system, and others you won't find anywhere else. Elegant, clean-cut design with minimal third party dependencies. Run ActiveMQ Artemis stand-alone, run it in integrated in your favourite Java EE application server, or run it embedded inside your own product. It's up to you. Seamless high availability. We provide a HA solution with automatic client failover so you can guarantee zero message loss or duplication in event of server failure. Hugely flexible clustering. Create clusters of servers that know how to load balance messages. Link geographically distributed clusters over unreliable connections to form a global network. Configure routing of messages in a highly flexible way. 6 Address Federation Project Information The official Apache ActiveMQ Artemis project page is http://activemq.apache.org/artemis/. Software Download The software can be download from the Download page:http://activemq.apache.org/artemis/download.html Project Information If you have any user questions please use our user forum If you have development related questions, please use our developer forum Pop in and chat to us in our IRC channel Apache ActiveMQ Artemis Git repository is https://github.com/apache/activemq-artemis All release tags are available from https://github.com/apache/activemq- artemis/releases And many thanks to all our contributors, both old and new who helped create Apache ActiveMQ Artemis. 7 Address Federation Versions This chapter provides the following information for each release: A link to the full release notes which includes all issues resolved in the release. A brief list of "highlights" when applicable. If necessary, specific steps required when upgrading from the previous version. Note: If the upgrade spans multiple versions then the steps from each version need to be followed in order. Note: Follow the general upgrade procedure outlined in the Upgrading the Broker chapter in addition to any version-specific upgrade instructions outlined here. 2.14.0 Full release notes. Highlights: Management methods to update diverts Ability to "disabled" a queue so that messages are not routed to it Support JVM GC & thread metrics Support for resetting queue properties by unsetting them in broker.xml Undeploy diverts by removing them from broker.xml Add addressMemoryUsagePercentage and addressSize as metrics Upgrading from older versions Make sure the existing queues have their parameters set according to the broker.xml values before upgrading. 2.13.0 Full release notes. Highlights: Management methods for an address' duplicate ID cache to check the cache's size and clear it Support for min/max expiry-delay Per-acceptor security domains Command-line check tool for checking the health of a broker Support disabling metrics per address via the enable-metrics address setting Improvements to the audit logging 8 Address Federation Speed optimizations for the HierarchicalObjectRepository , an internal object used to store address and security settings Upgrading from older versions Version 2.13.0 added new audit logging which is logged at INFO level and can be very verbose. The logging.properties shipped with this new version is set up to filter this out by default. If your logging.properties isn't updated appropriately this audit logging will likely appear in your console and artemis.log file assuming you're using a logging configuration close to the default. Add this to your logging.properties : # to enable audit change the level to INFO logger.org.apache.activemq.audit.base.level=ERROR logger.org.apache.activemq.audit.base.handlers=AUDIT_FILE logger.org.apache.activemq.audit.base.useParentHandlers=false logger.org.apache.activemq.audit.resource.level=ERROR logger.org.apache.activemq.audit.resource.handlers=AUDIT_FILE logger.org.apache.activemq.audit.resource.useParentHandlers=false logger.org.apache.activemq.audit.message.level=ERROR logger.org.apache.activemq.audit.message.handlers=AUDIT_FILE logger.org.apache.activemq.audit.message.useParentHandlers=false ... #Audit logger handler.AUDIT_FILE=org.jboss.logmanager.handlers.PeriodicRotatingFileHandler handler.AUDIT_FILE.level=INFO handler.AUDIT_FILE.properties=suffix,append,autoFlush,fileName handler.AUDIT_FILE.suffix=.yyyy-MM-dd handler.AUDIT_FILE.append=true handler.AUDIT_FILE.autoFlush=true handler.AUDIT_FILE.fileName=${artemis.instance}/log/audit.log handler.AUDIT_FILE.formatter=AUDIT_PATTERN formatter.AUDIT_PATTERN=org.jboss.logmanager.formatters.PatternFormatter formatter.AUDIT_PATTERN.properties=pattern formatter.AUDIT_PATTERN.pattern=%d [AUDIT](%t) %s%E%n 2.12.0 Full release notes. Highlights: Support for SOCKS proxy Real large message support for AMQP Automatic creation of dead-letter resources akin to ActiveMQ 5's individual dead-letter strategy Automatic creation of expiry resources Improved API for queue creation Allow users to override JAVA_ARGS via environment variable Reduce heap usage during journal loading during broker start-up Allow server header in STOMP CONNECTED frame to be disabled 9 Address Federation Support disk store used percentage as an exportable metric (e.g. to be monitored by tools like Prometheus, etc.) Ability to configure a "customizer" for the embedded web server Improved logging for errors when starting an acceptor to more easily identify the acceptor which has the problem. The CLI will now read the broker.xml to find the default connector URL for commands which require it (e.g. consumer , producer , etc.) 2.11.0 Full release notes. Highlights: Support retroactive addresses. Support downstream federated queues and addresses. Make security manager configurable via XML. Support pluggable SSL TrustManagerFactory.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    441 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us