-
Language:
English
-
Language:
English
JBoss A-MQ for xPaaS Release Notes
Red Hat JBoss A-MQ for xPaaS
What's new in Red Hat JBoss A-MQ for xPaaS
Red Hat
Version 6.1
Copyright © 2011-2014 Red Hat, Inc. and/or its affiliates.
13 Oct 2017
Abstract
These notes provide an overview of the changes between each release of the Red Hat JBoss A-MQ cartridge for OpenShift Enterprise.
Chapter 1. What's New
Abstract
This section describes the main features in version 6.1.1 of the Red Hat JBoss A-MQ cartridge and the differences between the cartridge and the standalone JBoss A-MQ product.
For detailed information about how to get started, including installation and configuration instructions, see the JBoss Fuse Cloud Deployment Guide or the JBoss A-MQ Cloud Deployment Guide.
Installation components
The JBoss A-MQ cartridge is shipped as an RPM package. You download the package from the JBoss A-MQ product page on the Customer Portal and install the cartridge with yum in the same way you install other OpenShift Enterprise components.
What's different in the JBoss A-MQ cartridge
When you create and run JBoss A-MQ applications in the OpenShift Enterprise domain, note the following differences between the cartridge and the standalone JBoss A-MQ product:
- Fabric management
- Each JBoss A-MQ application that you create is deployed with fabric by default.
- Some fabric profiles, such as Gateway and Tomcat, are not supported.
- You cannot create child containers. Each container that you deploy acts as a standalone application in the domain.
- The first application that you create includes the ZooKeeper instance with the user credentials and environment variables that subsequent applications require to run.
- Secured shared file systems are not supported.
- Ports and networking
- You can use only 3 private application ports to connect to the JBoss A-MQ applications. The ports are defined in system properties.
- The PublicPortMapper tool maps the private application ports to public ports before external clients can connect to the JBoss A-MQ applications.
- UDP connections are not supported.
- High availability
- The first JBoss A-MQ application in the OpenShift Enterprise domain acts as the master node in the cluster.
- You must install a standalone JBoss A-MQ instance and configure the ZooKeeper ensemble outside of the OpenShift Enterprise domain to manage applications inside the domain.
- You must configure the cluster to use JDBC Master Slave or Replicated LevelDB Store.
- Auto-scaling is not supported.
Technical preview features
The following features are provided on a technical preview basis and are not fully supported in version 6.1.1:
- Fuse Builder cartridge
Chapter 2. Known Issues
This section lists known issues in version 6.1.1 of the JBoss A-MQ cartridge.
For general known issues in version 6.1.0 of JBoss A-MQ, see the Known Issues section of the Red Hat JBoss A-MQ 6.1 Release Notes.
- Restoring JBoss A-MQ applications from a snapshot is not supported
- If you create a snapshot of multiple JBoss A-MQ applications with the snapshot-save command, you cannot restore the snapshots with the snapshot-restore command.
- You must delete containers with the same tool that you used to create the containers
- For example, if you create a container from the Fuse Management Console and then delete the container from the OpenShift Enterprise command line utility, the utility might not completely remove the container from the fabric. The deleted container then might re-register to the fabric with incomplete information and generate run-time errors or failures.
- You cannot move the primary JBoss A-MQ application between nodes
- To move a JBoss A-MQ application from one OpenShift Enterprise node to another node, you can use the oo-admin-move command. However, you cannot move the first application that you created between nodes. You can use the command to move only subsequent applications that you create.
- The PortMapper tool does not translate TLS ports
- When you define connection URLs in CXF endpoints, you cannot specify SNI ports that use the TLS protocol, such as
APP_TLS_PORT_1
. Instead, you must specify one of the non-TLS ports, such asAPP_PORT_1
, when you configure the CXF endpoint. - When the the JBoss A-MQ application reconnects to the fabric server, the Karaf log throws an exception
- When the connection between the JBoss A-MQ application and the fabric server is suspended and then resumed, the following error message might appear in the Karaf log:
java.util.concurrent.RejectedExecutionException Task java.util.concurrent.FutureTask@27458911 rejected from java.util.concurrent.ThreadPoolExecutor@4629cf3b [Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 9] ...
This message reports a problem with an obsolete CuratofFramework listener.Workaround: Ignore the message. - The Fuse Builder cartridge does not support HTTPS connections
- To connect to the Maven repository of the Fuse Builder cartridge, you must use an HTTP connection.
- You cannot use the publicip resolver when you create a JBoss A-MQ application
- The
publicip
resolver connects the application to the Git repository of the OpenShift Enterprise node. However, the resolver might not translate the public IP address of the node correctly and redirect the connection to an HTML page. - Some OpenShift Enterprise processes might stop before the JBoss A-MQ application is created
- In some environments, you cannot create the JBoss A-MQ application because some OpenShift Enterprise components, such as
mcollective
andrhc
, reach the maximum timeout limit and stop before the application is created.For general information about the default timeout values of OpenShift Enterprise components, see the Component Timeout Value Location section of the OpenShift Enterprise Administrator Guide.Workaround: Increase the timeout values of the OpenShift components. For a detailed description of this workaround, see the following knowledge base article: https://access.redhat.com/solutions/1238583 - The JBoss A-MQ cartridge creates a JBoss Fuse application by default
- When you install the JBoss A-MQ and create an application, the default type is JBoss Fuse. If you do not have the JBoss Fuse cartridge installed, the creation process fails.Workaround: In the fabric server, open the
openshift.profile/io.fabric8.openshift.properties
file and change the value of thedefault.cartridge.url
property in the following format:default.cartridge.url=id:amq-<version_number>
For example, to set the default cartridge to JBoss A-MQ version 6.1.1, specify the following value:default.cartridge.url=id:amq-6.1.1
Chapter 3. Resolved Issues
3.1. Messaging
Table 3.1, “Messaging Issues Resolved in 6.1.1” lists the issues resolved in version 6.1.1.
Table 3.1. Messaging Issues Resolved in 6.1.1
Issue Number | Description |
---|---|
AMQ-2876 | Message received from Queue before its expiration and acknowledged after it, is put to deadletter queue in error |
AMQ-3454 | Contention on a mutex during a stress when using SimpleAuthenticationPlugin |
AMQ-4182 | Memory Leak for ActiveMQBytesMessage with Compression as true |
AMQ-4349 | ActiveMQ 5.8.0 thows nullpointer exception while shutting down (NIO + LevelDB + pending Non Peristent Messages) |
AMQ-4485 | Skipped message dispatch with concurrent transacted sends at cursor memory limit |
AMQ-4555 | Locking in SimpleCachedLDAPAuthorizationMap can lead to delays in Message dispatch. |
AMQ-4719 | Enable "Link Stealing" as an option on a Connector |
AMQ-4930 | java.lang.OutOfMemoryError: Java heap space Exception when sending big amount(1000+) of 1M non persistent messages to broker |
AMQ-4952 | When duplicate message occur from network producer, messages blocked by cursor audit are blocked till restart |
AMQ-5068 | Support hardening/persisting the JMSRedeliveryFlag across restarts |
AMQ-5080 | RAR - missing messages on master slave failover |
AMQ-5119 | broker redeliveryPlugin: after message redelivery, all subsequent "producer.send()" using same message are "scheduled" for delivery to queue rather than delivered to queue as normal |
AMQ-5121 | Browse command is no more working with Karaf |
AMQ-5140 | ArithmeticException: / by zero in HealthView.healthList() when using JMX-Health-Operations |
AMQ-5146 | RedeliveryPolicy exceeded for crashing consumer |
AMQ-5156 | Multiple tests using durable subs are failing |
AMQ-5189 | Rollback on XASession when closing back to pool |
AMQ-5212 | Deadlock with duplicate detection and dlq processing in kahadb |
AMQ-5241 | Spurious WARN FailoverTransport - Transport .. failed, reason: , attempting to automatically reconnect java.io.EOFException |
AMQ-5256 | AMQP WARN Transport Connection failed: java.io.IOException |
AMQ-5266 | Stuck Messages in Single Broker when using JDBC Persistent Store |
AMQ-5274 | Stuck messages and CPU churn when aborted transacted message expires |
AMQ-5279 | failover redelivery to alternative consumers with pending transaction causes rollback *and* dlq processing |
AMQ-5288 | Return proper error codes to MQTT client on failed connect. |
AMQ-5307 | MQTT Transport codec does not properly deal with partial read of frame header |
AMQ-5311 | XAException message should encode the xaErrorCode |
AMQ-5379 | AMQP - allow setting prefetch size |
ENTMQ-678 | HTML in message header can prevent ActiveMQ Web Console from displaying correctly |
ENTMQ-684 | Stomp Tests hang on Solaris |
ENTMQ-685 | [ ActiveMQ 5.9.0.redhat-610379] - NullPointerException at org.fusesource.hawtdispatch.package$RichExecutor.execute() during shutdown |
ENTMQ-703 | Stuck Messages in Single Broker when using JDBC Persistent Store |
ENTMQ-792 | When an AMQP client receives some messages from a queue, all JMSRedelivered headers of the remained messages are changed to true. |
ENTMQ-815 | mqtt: incorrect wild card replacement in mqtt topics |
3.2. Container
Table 3.2, “Container Issues Resolved in 6.1.1” lists the issues resolved in version 6.1.1.
Table 3.2. Container Issues Resolved in 6.1.1
Issue Number | Description |
---|---|
ARIES-1014 | inconsistencies in org.apache.aries.proxy versions |
ARIES-885 | In container managed mode, a single non thread safe entity manager is used to service all requests when no transaction is active |
ENTESB-1681 | Conccurent access issue for Aries JPA + Hibernate |
FELIX-3360 | Bundle location is statically set for dynamically bound bundles |
FELIX-3712 | FileInstall throws Interrupted exception when refreshed |
FELIX-3714 | Error when when fragment bundle is updated |
FELIX-4071 | ConcurrentModificationException in DirectoryWatcher.bundleChanged |
ENTESB-1726 | Use EventAdmin to provide an audit trail of events, but it's lacking the authenticated Subject who performed the action |
3.3. Fuse Fabric
Table 3.3, “Fuse Fabric Issues Resolved in 6.1.1” lists the issues resolved in version 6.1.1.
Table 3.3. Fuse Fabric Issues Resolved in 6.1.1
Issue Number | Description |
---|---|
FABRIC-593 | Provisioning a profile stalls at "Installing" state forever |
FABRIC-1121 | Unable to deploy FAB to fabric containers |
FABRIC-1090 | Ports out of sync when removing a container from fabric which has been "joined" and added back to fabirc |
FABRIC-1052 | Unable to recreate fabric on Windows |
FABRIC-1051 | Profile updates get slower and slower |
FABRIC-1068 | Cannot change Fabric registry default port |
FABRIC-1041 | Camel-insight not able to store camel exchanges into ES |
FABRIC-1043 | Using wrap protocol with OSGi header options in a feature file does not work |
FABRIC-1770 | JBoss Fuse cartridge exposes credentials over httpJBoss Fuse cartridge exposes credentials over http |
FABRIC-1443 | CVE-2014-0114 Apache Struts 1: Class Loader manipulation via request parameters [fuse-6] |
3.4. Console
Table 3.4, “Console Issues Resolved in 6.1.1” lists the issues resolved in version 6.1.1.
Table 3.4. Console Issues Resolved in 6.1.1
Issue Number | Description |
---|---|
ENTESB-1326 | notices generation doesn't work for Maven 3.1.1 |
ENTESB-1573 | NullPointerException when adding a features url |
ENTESB-1609 | Can not install fuse as system service on AIX7.1 |
ENTESB-1627 | Command console not working on HP-UX |
ENTESB-1735 | Fuse is closed when "u" char is pressed |
KARAF-2910 | Properties login module seems to leak a PropertiesInstaller reference results in OOM |
KARAF-2982 | Command history is off by one |
KARAF-3021 | Keyboard still read after log:tail cancelled |
KARAF-3044 | Can't shutdown karaf via wrapper on AIX |
KARAF-3056 | Upgrade to JLine 2.12 |
Chapter 4. Enhancements
4.1. Messaging
Table 4.1, “Messaging Enhancements in 6.1.1” lists the enhancements in version 6.1.1.
Table 4.1. Messaging Enhancements in 6.1.1
Enhancement | Description |
---|---|
AMQ-5114 | AbortSlow*ConsumerStrategy with abortConnection=false; ensure consumers are always removed from the broker |
AMQ-5163 | Enable durable topic subscriptions using individual ack mode. |
AMQ-5214 | Security errors for sync commands are only logged at debug levels |
AMQ-5264 | Allow optional manual transaction management on a rar managedConnection |
AMQ-5292 | Add support for publishing to MQTT '$' Topics (that start with the prefix '$') |
AMQ-3519 | Allow getJMSRedelivered flag to survive a restart |
KARAF-3068 | Update to Spring 3.2.9.RELEASE_1 |
AMQ-5077 | Improve performance of virtual topic fanout and persistent asyncSend |
4.2. Container
Table 4.2, “Container Enhancements in 6.1.1” lists the enhancements in version 6.1.1.
Table 4.2. Container Enhancements in 6.1.1
Enhancement | Description |
---|---|
ARIES-1038 | be able to easily use Blueprint inside a WAR in any servlet container using blueprint-noosgi and a ServletContextListener to boot up all the blueprint XML files |
ARIES-1069 | Publish a single interface for better integration of the TransactionManager with other low-level components |
ARIES-1082 | Add a way to use property placeholders to define filters on service references |
ARIES-998 | Support a subset of blueprint outside OSGi |
FELIX-4316 | Packages imported dynamically should also be imported statically with an optional flag |
FELIX-4317 | SCR implementation should avoid using bundleContext.getBundle() |
FELIX-4339 | Make the use of escape characters deterministic |
FELIX-4343 | [DS] rationalize log levels |
FELIX-3997 | Provide an abstract bundle extender |
FELIX-2702 | File Install should be smarter about starting failed bundles |
4.3. Console
Table 4.3, “Console Enhancements in 6.1.1” lists the enhancements in version 6.1.1.
Table 4.3. Console Enhancements in 6.1.1
Enhancement | Description |
---|---|
KARAF-2789 | Upgrade to sshd 0.11.0 |
KARAF-2623 | Karaf client script only returns a non zero status if there is exception |
KARAF-3045 | Simplify console branding |
KARAF-3068 | Update to Spring 3.2.9.RELEASE_1 |
Chapter 5. Supported Configurations
For information about supported configurations, standards, and components in version 6.1, see the following Customer Portal articles:
Chapter 6. Apache Dependencies
The following Apache projects are used in version 6.1:
- Apache ActiveMQ
- Red Hat JBoss A-MQ includes Apache ActiveMQ 5.9
- Apache Karaf
- Red Hat JBoss A-MQ includes Apache Karaf 2.3
Legal Notice
Trademark Disclaimer
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity Logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Apache, ServiceMix, Camel, CXF, and ActiveMQ are trademarks of Apache Software Foundation. Any other names contained herein may be trademarks of their respective owners.
Legal Notice
Third Party Acknowledgements
One or more products in the Red Hat JBoss A-MQ release includes third party components covered by licenses that require that the following documentation notices be provided:
- JLine (http://jline.sourceforge.net) jline:jline:jar:1.0License: BSD (LICENSE.txt) - Copyright (c) 2002-2006, Marc Prud'hommeaux
mwp1@cornell.edu
All rights reserved.Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the name of JLine nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - Stax2 API (http://woodstox.codehaus.org/StAX2) org.codehaus.woodstox:stax2-api:jar:3.1.1License: The BSD License (http://www.opensource.org/licenses/bsd-license.php)Copyright (c) <YEAR>, <OWNER> All rights reserved.Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - jibx-run - JiBX runtime (http://www.jibx.org/main-reactor/jibx-run) org.jibx:jibx-run:bundle:1.2.3License: BSD (http://jibx.sourceforge.net/jibx-license.html) Copyright (c) 2003-2010, Dennis M. Sosnoski.All rights reserved.Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the name of JiBX nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - JavaAssist (http://www.jboss.org/javassist) org.jboss.javassist:com.springsource.javassist:jar:3.9.0.GA:compileLicense: MPL (http://www.mozilla.org/MPL/MPL-1.1.html)
- HAPI-OSGI-Base Module (http://hl7api.sourceforge.net/hapi-osgi-base/) ca.uhn.hapi:hapi-osgi-base:bundle:1.2License: Mozilla Public License 1.1 (http://www.mozilla.org/MPL/MPL-1.1.txt)