Table 4 lists the enhancements between 7.0.2 and 7.1.
Table 4. Messaging Enhancements in 7.1
| Enhancement | Description |
|---|---|
| MB-1024 | Revert the Oracle jdbc adapter to a variant of the default jdbc adapter in place of the one supporting blobs |
| AMQ-1191 | JDBC based Master/Slave not supported for TransactSQL based databases (SQL Server and Sybase) |
| AMQ-1492 | SET AUTOCOMMIT TO OFF is no longer supported Postgre8.1 Error |
| AMQ-1514 | Patch HTTP connector to support proxy authentication if proxyUsername and proxyPassword provided |
| AMQ-1540 | Patch to trim spaces from entry fields in web console app |
| AMQ-1905 | Method required: ObjectName[] ConnectionViewMBean.getConsumers() |
| AMQ-1907 | Method required: ObjectName SubscriptionViewMBean.getConnection() |
| AMQ-2229 | Remove warnings from CSS file |
| AMQ-2535 | Jetty SSL configuration |
| AMQ-2741 | Provide visibility onto destination SlowConsumerStrategy via JMX |
| AMQ-2845 | log4j conf reload via JMX ignores log4j.configuration setting |
| AMQ-2911 | Option to make all consumers retroactive |
| AMQ-2961 | Audit, test and update libraries in latest Apache ActiveMQ distribution |
| AMQ-3074 | Expose TransportConnection.stopping |
| AMQ-3116 | Unicode characters are not shown correctly in message body |
| AMQ-3135 | ActiveMQ.Advisory.Connection messages should contain client ip/host |
| AMQ-3137 | Outbound bridges should handle remote connectivity problems at startup |
| AMQ-3173 | Better representation of ActiveMQMessage messages on server page message.jsp |
| AMQ-3224 | Redelivery per destination |
| AMQ-3227 | Support synchronous sending in ActiveMQ streams |
| AMQ-3322 | Minor code improvements in security module |
| AMQ-3326 | Synchronization point in RegionBroker adding and removing producers and consumers |
| AMQ-3339 | Allow for an option to bound the number of GC'd Destinations when using gcInactiveDestinations=true |
| AMQ-3383 | Add a string property (token) to ConnectionControl so the broker could potentially communicate a security token to a client after it authenticates |
| AMQ-3406 | Enable BrokerServiceAware support for DiscoveryAgent |
| AMQ-3410 | AbstractAmqCommand should allow the connection factory to be changed |
| AMQ-3412 | activemq-camel bundle dosen't need to export the package of META-INF.services.org.apache.camel |
| AMQ-3415 | Show message timestamp in the RSS pubDate field in Web console |
| AMQ-3436 | Support prioritization of messages pending dispatch |
| AMQ-3439 | NetworkConnectorViewMBean doesn't expose
suppressDuplicateQueueSubscriptions and suppressDuplicateTopicSubscriptions |
| AMQ-3449 | Add Stomp v1.1 support |
| AMQ-3464 | XML view for subscribers in admin console |
| AMQ-3474 | Investigate further onUsageChange flushing for FilePendingMessageCursor |
| AMQ-3482 | Make PooledConnectionFactory's sessionPool non-blocking in case its full |
| AMQ-3483 | Cleanup TODOs "Auto-generated catch block" to improve the quality of Tag List Report |
| AMQ-3486 | Add check to prevent Durable Subscriptions on Session that are in Individual Ack mode |
| AMQ-3500 | Setting destination options should validate against typos |
| AMQ-3508 | SSL and TLS - Support list of included and excluded protocols |
| AMQ-3512 | Using browse command fails when a message with an array of bytes is encountered |
| AMQ-3533 | mKahaDB, allow the directory of a filtered destination to be specified, such that destination journals can be split across disks |
| AMQ-3554 | activemq:create should use name as argument in place of option |
| AMQ-3558 | Allow the base network consumer priority to be configured on a networkConnector |
| AMQ-3573 | Hardcoded defaults for systemUsage not suitable for out of the box |
| AMQ-3574 | Enable systemUsage configuration in activemq.xml out of the box |
| AMQ-3609 | Turn inactivity monitor thread off by default |
| AMQ-3615 | Advisory broker replay of destination advisories needs to distinguish temp destination from regular destination |
| AMQ-3638 | Add LFU page cache as an option for kahaDB |
| AMQ-3639 | Modify MKahaDB To support using one adapter per destination without explicitly listing every destination in the configuration |
| AMQ-3646 | Allow KahaDB to run without disk syncs, higher throughput without the JMS persistence guarantee |
| AMQ-3667 | Use 1G heap by default and UseDedicatedTaskRunner=false |
| AMQ-3682 | Karaf commands should try using --jmxlocal by default |
| AMQ-3683 | Enhance the InactivityMonitor shutdown logic |
| AMQ-3696 | Slave broker cannot be stopped in a JDBC Master/Slave configuration within OSGi |
| AMQ-3703 | Replace use of class Valve with standard JDK ReentrantReadWriteLock in class Topic |
| AMQ-3705 | When a destination is removed all the advisory topics for that destination should also be removed |
| AMQ-3714 | getScheduler():Scheduler of class org.apache.activemq.ActiveMQConnection should use lazy initialisation |
| AMQ-3718 | Thread pool turnover is to heavy due to Executor configuration |
| AMQ-3750 | Add a hint when storing a message so a message store can optimise message storage if the message is likely to be consumed quickly |
| AMQ-3770 | Generalize LDAP group processing / LDAP group expansion |
| AMQ-3772 | Add levelDB store support to Fuse MQ Enterprise |
| AMQ-3786 | Add support for MQTT |
| AMQ-3788 | getStatus on ActiveMQConnectionFactory is not implemented |
| AMQ-3813 | Limit the number of producers and consumers created by a Connection |
| AMQ-3847 | Optional import for org.apache.activemq.pool in activemq-camel should be required |
| AMQ-3859 | Too tight version range in activemq features file |
| AMQ-3861 | Offer a way to not set a transaction manager in activemq-camel |
| AMQ-3878 | Reset stats automatically without dependency on JMX / Java APIs |
| AMQ-3893 | Adjust topic policy entry in default configuration |
| AMQ-3913 | Stomp Spec allows for stomp headers to have spaces in key or value we currently trim |
| AMQ-3914 | Add support for MS SQL JDBC driver 4.0 |
| AMQ-3971 | Remove System.out.println from ActiveMQConnection |
| AMQ-3972 | Add an isDisposed check before calling propagateFailureToExceptionListener in FailoverTransport |
| AMQ-3983 | Fix OSGi dependency |
| AMQ-3986 | Allow optimizeDurableTopicPrefetch to be set using resource adapter properties |
| AMQ-3991 | Output version number in started log line to be consistent |
| AMQ-4003 | Add option to PooledConnectionFactory to control if connection should be created on start-up or not |
| AMQ-4004 | activemq-pool - Rename maximumActive option maximumActiveSessionPerConnection |
| AMQ-4008 | Tomcat WARN on shutdown about ThreadLocal not cleared from log4j |
| AMQ-4011 | Refactor IntrospectionSupport to avoid using Java bean property editors |
| AMQ-4012 | Use english locale for introspection support when discovering setter/getter method names |
| AMQ-4015 | Add uptime to broker mbean and when stopping broker to report its uptime |
| AMQ-4016 | Seems like static thread pool is not used in org.apache.activemq.ActiveMQConnectionFactory |
| AMQ-4019 | Make better use of commons-pool in activemq-pool |
| AMQ-4026 | Refactor logic to shutdown thread pools using a single API to ensure better shutdown and offer logging et all |
| AMQ-4027 | Add support for Java 7 in AbstractJmxCommand |
| AMQ-4029 | Unregistering mbean should handle null mbean names |
| AMQ-4049 | Polish the start|stop logging |
| AMQ-4063 | Trim RAR to not included Derby JAR |
| AMQ-4067 | Prefix Thread names with ActiveMQ |
| AMQ-4177 | browseMessages() fails when using Jolokia to browse JMX |
| AMQ-1928 | Limit the maximum number of connections to a broker |
| AMQ-2455 | Need a facility to retry JMS connections to a foreign provider by the ActiveMQ JMS bridge |
| AMQ-2570 | Apache Karaf support |
| AMQ-3236 | In the case of DLQ processing due to an exception from onMessage, provide the exception string as a message property |
| AMQ-3298 | Cannot create bridge to WebSphere queue using default messaging provider |
| AMQ-3623 | Add DefaultTestAppender utility abstract class |
| AMQ-3632 | Allow easy creation of purely static bridges |
| AMQ-3769 | Support doing non-blocking sends that uses an async callback that gets notified when the send has been received by the broker |
| AMQ-3917 | Apache ActiveMQ should support multiple durable subscriptions per Stomp client |
| AMQ-4005 | Implement pluggable broker lockers |
| AMQ-4162 | Provide JMX visibility into options applied via destination name query parameters |
| MB-1031 | Contention on a mutex during a stress when using SimpleAuthenticationPlugin |
| MB-1077 | Improve failover clustering so we can better support active-active setups |
| MB-1092 | Add troubleshooting,diagnostic script to capture commonly needed broker runtime environment data |
| MB-1094 | Add authenticated username info in ConnectionViewMBean and SubscriptionViewMBean |
| MB-1103 | activemq feature.xml use old org.apache.aries.transaction.manager bundle cause intermittent hang on some platform |
| MB-1128 | ActiveMQ dynamic failover randomizes client connect string causing imbalance |
| MB-1145 | Incorrect paths used in wrapper.conf |
| MB-1150 | Create a wrapper for use in a 64bit environment |
| MB-1155 | The broker's message group feature should rebalance the message distribution when new consumers added |
| MB-1156 | Add support for lease based lock to jdbc persistent adapter |
| MB-1157 | Support for more sophisticated redelivery semantics |
| MB-1158 | Support for secure websockets transport connector |
| MB-1187 | Allow REST API to connect to the secured broker |
| MB-1188 | REST API support for application/json as content type |
| MB-1193 | Allow compression of messages across network of brokers |
| MB-1195 | Reduce maxRows default value from 10,000 to a lower value like 200 in JDBC persistence adapter |
| MB-1210 | Websocket transport: support increasing the max size of websocket messages |
| MB-1219 | Enable IndividualDeadLetterStrategy to be able to use a suffix option |
| MB-707 | Distribute a 64-bit version of Java Service Wrapper |
| MB-844 | Please add the user name in the "User name or password is invalid" error line |
| MB-848 | Please enhance STOMP message logging so that only STOMP Frames may be redirected to another file |
| MB-887 | Implement nio+ssl transport |
| MB-896 | Pooled connections causes Temporary Destination leaks since connections don't get closed |
| MB-902 | Broker does not check for expired persistent topic messages |
| MB-911 | Exposing subscription statistics through Statistics plug-in |
| MB-930 | Guard debug logging in message expiry task in AcitveMQ to avoid unnecessary loading the messages into memory |
| MB-942 | Update activemq-admin usage to include info on how to change JMX access |
| MB-943 | Confusion around discoveryAgent - Rendez-Vous |
| MB-952 | Fuse MQ Enterprise cannot determine between Queue and Topic for Weblogic destination |
| MB-969 | Change prefetch size limit for topics from 32766 to 32767 |
| MB-973 | The rar distribution is missing the slf4j-log4j jar file |
| MB-975 | Upgrade our http transport implementation from using HttpCommon v3.1 to HttpCore/HttpClient v4.x |
| MB-984 | Improve ActiveMQ's XSD to allow elements to appear in any order |
| MB-986 | Add IP address of clients to ERROR messages created within transport layer |
| MB-988 | Enhance HTTP transport connector to support message compression |
| MB-994 | Exclude network connectors from sendFailIfNoSpace on producer flow control |
| MB-995 | Added masterslave configuration for networkConnectors to simplify master/slave pair configuration |
| MB-1022 | Please create an inactivity monitor on STOMP 1.0 |
| MB-1076 | Add ability to do priority failover and fallback, using the backup facility in the Failover transport |
| MB-859 | Add support for wildcards for LDAP authorization map |
| MB-905 | Durable subscribers that are disconnected and haven't tried connecting for some time could get unsubscribed automatically |
| MB-920 | Add ability for KahaDB log files to be created on a per-destination basis |
| MB-962 | Please add support for JMS option consumer.exclusive |
| MB-967 | Broker to persist JMSRedelivered flag |
| MB-990 | Allow virtual topic interceptor to ignore messages that are received over network connector |
Table 5 lists the enhancements between 7.0.2 and 7.1.
Table 5. Container Enhancements in 7.1
| Enhancement | Description |
|---|---|
| ARIES-315 | Blueprint-cm and the cm-properties element |
| ARIES-467 | Internationalization of Apache Aries |
| ARIES-542 | Use of PlatformRepository in resolvers needs to be more flexible |
| ARIES-545 | Modelling classes are missing equals() methods |
| ARIES-557 | Resolver exception should include more information about nature of missing requirements |
| ARIES-567 | Create common utility method for service unregistration |
| ARIES-574 | Expose ModelledBundleResource |
| ARIES-581 | Provide a java6 parent |
| ARIES-583 | Update the application components to use the ext:default capability for default service implementations |
| ARIES-601 | Add service ranking to re-registered XA data source |
| ARIES-638 | Logging improvements in AriesApplicationManagerImpl |
| ARIES-649 | Move ServicePair from jndi to util so it can be used more widely |
| ARIES-652 | Improvements to IFile API |
| ARIES-657 | Enhanced support for custom scopes |
| ARIES-671 | Proxy code memory usage is high for generated interface proxys |
| ARIES-676 | Make Aries bundle modelling API consumable by non-OSGi clients |
| ARIES-686 | Implement the JMX spec MBeans using the whiteboard pattern |
| ARIES-701 | Use IdentityHashMap<Object,MBeanHolder> to map registered services to MBeanHolders |
| ARIES-702 | Use introspection to find the MBean interface |
| ARIES-713 | Support using a ScheduledExecutorService for blueprint that is in the service registry |
| ARIES-715 | Add support for InputStream based IDirectory |
| ARIES-716 | Allow plugins to extend the Aries Application Modeller |
| ARIES-722 | Enabling debug for blueprint itests is too hard |
| ARIES-740 | Add method to resolve without repositories to AriesApplicationResolver |
| ARIES-741 | JPA container should auto-enlist JTA XADatasources |
| ARIES-779 | AbstractPropertyPlaceHolder should be exported by blueprint-core |
| ARIES-786 | Ability to control the list of woven classes using system properties |
| ARIES-790 | Add a public API for injecting properties into a pre-created object |
| ARIES-792 | Add EJB Modeller code to the Standalone Application Modeller |
| ARIES-806 | Align Bundle-Name of the JMX Whiteboard bundle with other JMX bundles |
| ARIES-821 | Allow mixtures of interfaces and classes in proxys |
| ARIES-823 | Cope with badly written ObjectFactorys |
| ARIES-826 | Provide a hook into the proxy weaver to enable smart decision making |
| ARIES-837 | Modify default of Export-EJB: header to be ALL when empty string |
| ARIES-845 | Support unwrap and isWrappedFor functions with older JDBC drivers in ConnectionWrapper |
| ARIES-855 | Blueprint should attempt to load static nested classes when the initial attempt to load a class has failed |
| ARIES-873 | Allow transactionManager Identity to be specified via configuration aries.transaction.tmid=MyUniqueId |
| ARIES-536 | Have a way to specify a blueprint bundle should be started in sync with the start level service as much as possible |
| ARIES-578 | Provide hook point for different Blueprint transaction interceptor similar to JPA hook point for persistence units |
| ARIES-633 | Improve proxy support for final classes and final methods |
| ARIES-636 | Support load-time weaving and Annotation scanning in the JPA container when running on OSGi 4.3 |
| ARIES-644 | Replace Scope Admin with Region Digraph |
| ARIES-718 | EJB support in Apache Aries |
| ARIES-727 | support syntax : ${a+b} in blueprint-cm |
| ARIES-732 | The ability to exclude bundles from the archive while still having them listed in Application-Content header |
| ARIES-733 | Add Use-Bundle header to the APPLICATION.MF using maven-eba-plugin |
| ARIES-737 | Provide initial support for embedded subsystems |
| ARIES-739 | Update code based on latest resource, resolver, repository, and subsystem APIs |
| ARIES-757 | Contribute semantic versioning check tool |
| ARIES-773 | Usage of a Configuration Admin service within an isolated application framework |
| ARIES-825 | Update subsystems to latest Subsystem, Resolver, and Repository APIs |
| ARIES-888 | Add a bundle to support JMS with the transaction manager |
| ARIES-890 | Add support for recovery of JDBC XA transactions |
| ESB-1657 | Add schema definition support for Spring/Blueprint deployer |
| FELIX-908 | Unsynchronize access to bundle state inside BundleInfo by making the variable volatile |
| KARAF-1010 | Add 64Bit service wrapper |
| KARAF-1023 | Add karaf activators for jars in the lib folder |
| KARAF-1045 | Improved help system |
| KARAF-1072 | Provide man command as an alias to help |
| KARAF-1129 | Allow configuring rmi Registry host as well as port |
| KARAF-1153 | Jetty feature should also install the jetty-websocket bundle |
| KARAF-1191 | Switch back to milliseconds per default on shell:sleep and introduce -s option |
| KARAF-1245 | Blueprint deployer and Spring deployer should get started before features.core bundle |
| KARAF-1261 | JAAS commands should allow you to distinguish between to realms that have the same name |
| KARAF-1271 | Feature service should log in DEBUG instead of INFO |
| KARAF-1280 | Add wrap third party jar example |
| KARAF-1283 | Add a simple OSGi bundle demo to deployer examples |
| KARAF-1292 | Add a feature demo |
| KARAF-1295 | serviceUrl in org.apache.karaf.management.cfg should use 0.0.0.0 but not localhost |
| KARAF-1300 | Features management should be more robust if customer features descriptor file has duplicated feature name |
| KARAF-1328 | jclouds feature repo url has been changed after version 1.0 |
| KARAF-1385 | Be able to disable the default PropertiesLoginModule |
| KARAF-1396 | config:list command description should be enhanced |
| KARAF-1410 | Error in stop script if KARAF_DEBUG is enabled |
| KARAF-1499 | InfoAction shell command should sort the properties from InfoProvider instances |
| KARAF-1500 | Forgot a space between hours and minutes in InfoAction.java |
| KARAF-1521 | add-features-to-repo goal should define a correct default value for repository |
| KARAF-1558 | Instance clone should be able to clone the root instance |
| KARAF-1562 | Improve message displayed when the JAAS login module doesn't have a backing engine |
| KARAF-1574 | When two karaf containers are started locally, an exception is displayed at startup. A nicer message would be better. |
| KARAF-1575 | Features provided by Apache Karaf do not have any description |
| KARAF-1586 | wrapper:install command should be usable outside OSGi too |
| KARAF-1600 | Avoid duplicate feature and bundle resolution when installing cascading features |
| KARAF-1640 | Make sure the local console is fully working before the user can type commands |
| KARAF-1657 | org.ops4j.pax.url.mvn.proxySupport=false |
| KARAF-1676 | OBR URL's in Apache Karaf have no simple identifier |
| KARAF-1693 | Rename command-watch to watch |
| KARAF-1749 | The command packages:imports should work on unresolved bundles |
| KARAF-1752 | Hard coded features uri in features deployer feature discovery |
| KARAF-1757 | Welcome message incorrect during ssh session or using bin/client |
| KARAF-1810 | Provide alias for feature:repo-add |
| KARAF-1812 | Use Felix properties and remove org.apache.karaf.util.Properties |
| KARAF-1813 | Add osgi:name and name attribute in SystemMBean |
| KARAF-1833 | Reintroduce the -p option in the client |
| KARAF-1834 | Make KarafTestSupport available externally |
| KARAF-1836 | Provide a login module class name completer |
| KARAF-1844 | Add command aliases for migration purpose between 2.3.x and 3.x |
| KARAF-1850 | feature:list should use alphabetical order |
| KARAF-1878 | Feature bundle start up order by startLvl |
| KARAF-1924 | Fix the WARN logs from starting a vanilla Karaf 2.3.0 |
| KARAF-1951 | Remove workaround for KARAF-1117 |
| KARAF-447 | Add JDBC lock implementation for PostgreSQL |
| KARAF-693 | features:addurl raises "Premature end of file" when network is not available |
| KARAF-916 | Use org.apache.aries.jmx.core instead of org.apache.aries.jmx |
| KARAF-999 | local-repo folder shouldn't be used |
| KARAF-1132 | Introduce new command feature:chooseurl to make it easy to install well known feature files |
| KARAF-1196 | Implement a watch command so we can watch the output of a karaf command like the unix 'watch' mechanism |
| KARAF-1334 | Use the new servicemix spec to allow the use of both the JRE implementations and implementations from bundles |
| KARAF-1475 | Support SSH agent forwarding and use the agent authentication when connecting to other instances |
| KARAF-1546 | Add -i/--install-all option to feature:add-url |
| KARAF-1792 | Add karaf-pax-exam |
| KARAF-1806 | Add version attribute in the SystemMBean |
| KARAF-1910 | Provide Spring 3.1.2.RELEASE features |
| KARAF-32 | Support ssh public key authentication and agent forwarding |
| KARAF-581 | Also make rmiRegistryHost configurable |
| KARAF-866 | New dev:wait-for-service command to wait for a given OSGi service |
| KARAF-908 | Provide a way to access system properties easily in the shell |
| KARAF-977 | config propset, propappend & propdel could use some autocompletion |
Table 6 lists the enhancements between 7.0.2 and 7.1.
Table 6. Fabric Enhancements in 7.1
| Enhancement | Description |
|---|---|
| FABRIC-255 | Allow configuration of default JVM options that can be applied to new child containers |
| FABRIC-256 | Provide fabric commands to list and display OSGi features |
| FABRIC-260 | Resolver handling needs to be more flexible and configurable |
| FABRIC-271 | Fabric dosgi should respect the container resolver |
| FABRIC-284 | Ensure that features in a profile are deployed before bundles |
| FABRIC-296 | Provide a Fabric profile out-of-the-box that deploys all relevant Camel JMS and ActiveMQ features/bundles |
| FABRIC-314 | Remove container-create command |
| FABRIC-329 | Secure jolokia |
| FABRIC-281 | Secure ZooKeeper |
| FABRIC-289 | Add support for deploying Apache Directory in Fabric |
| FABRIC-316 | Make sure that no default credentials and no default key are present in the distros |







