Commit Graph

578 Commits

Author SHA1 Message Date
Clebert Suconic 6314b17667 ARTEMIS-1187 fix checkstyle 2017-05-31 20:24:02 -04:00
Tomas Hofman 8eb5ce9ebd ARTEMIS-1187 Incompatible version when recreating a session with older server 2017-05-31 11:46:35 -04:00
Michael Andre Pearce c65ea783ea ARTEMIS-1189 - Fix checkstyle violations post checkstyle upgrade
After upgrade of checkstyle, resolve violations

remove checkstyle override added as temp measure at point of upgrade forced by sevntu
2017-05-30 13:40:00 -04:00
Justin Bertram 5a9830af17 Revert "[ARTEMIS-1171] Improve log readability around clustering"
This reverts commit 744221dcb5.

Broke o.a.a.a.t.i.m.QueueControlUsingCoreTest.testListDeliveringMessages
2017-05-25 10:53:42 -04:00
Clebert Suconic 15bb4d2c61 ARTEMIS-1176 Fixing reading from JMS Messages as core messages 2017-05-24 18:37:46 -04:00
Ingo Weiss 744221dcb5 [ARTEMIS-1171] Improve log readability around clustering
Issue: https://issues.apache.org/jira/browse/ARTEMIS-1171
2017-05-17 14:11:08 -04:00
Clebert Suconic dc26ac96b4 ARTEMIS-1156: moving our collections on its own package 2017-05-12 10:06:05 -04:00
Clebert Suconic 02dcfe0468 ARTEMIS-1158 exposing Netty.channelID properly 2017-05-10 21:50:19 -04:00
Clebert Suconic ce61d20f5a [maven-release-plugin] prepare for next development iteration 2017-05-08 15:20:12 -04:00
Clebert Suconic 64e8f015ee [maven-release-plugin] prepare release 2.1.0 2017-05-08 15:20:01 -04:00
Clebert Suconic 36c9659279 [maven-release-plugin] prepare for next development iteration 2017-05-05 22:11:09 -04:00
Clebert Suconic 7b5082639f [maven-release-plugin] prepare release 2.1.0 2017-05-05 22:10:58 -04:00
Bernd Gutjahr 6017e305d9 ARTEMIS-1112: Added wait-for-activation option to shared-store-master config
Added a wait-for-activation option to shared-store master HA policies.
This option is enabled by default to ensure unchanged server startup behavior.

If this option is enabled, ActiveMQServer.start() with a shared-store master server will not return
before the server has been activated.
If this options is disabled, start() will return after a background activation thread has been started.
The caller can use waitForActivation() to wait until server is activated, or just check the current activation status.
2017-05-03 16:40:15 -04:00
Jeff Mesnil 15b913333f [ARTEMIS-1043] Support IPv6 in NettyConnector
Wrap the host added to the HTTP request headers with IPV6Util.encloseHost
to ensure that load balancers that reads the header will have a valid
IPv6 address.

JIRA: https://issues.apache.org/jira/browse/ARTEMIS-1043
2017-05-03 12:31:00 -04:00
Aditya Sharad 52a5b85557 ARTEMIS-1135: Prevent overflow in `DayCounter`
Use `long` array for hourly counters instead of `int` array.
Prevents overflow when the number of new messages (a `long`) is added.
Fixes one of the "Implicit narrowing conversion in compound assignment"
alerts on https://lgtm.com/projects/g/apache/activemq-artemis/alerts.
2017-05-02 13:00:46 -04:00
Zoran Regvart 6db0c50272
Removes deprecated use and raw types
This cleans up the Netty implementation by replacing deprecated usage
and adds type parameters to raw types used.
2017-05-02 11:00:56 +02:00
Justin Bertram 7e0fedf52e ARTEMIS-590 connector option to use default SSL context 2017-04-28 10:14:09 +01:00
Francesco Nigro 258d595972 ARTEMIS-1124 JDBC Network Timeout configuration 2017-04-20 19:43:10 +01:00
Clebert Suconic c82ac631b8 NO-JIRA fixing NettySecurityClientTest 2017-04-18 15:14:21 -04:00
Clebert Suconic cc22a0286b ARTEMIS-1101 Fixing JMSFilter on AMQP 2017-04-11 16:07:33 -04:00
Francesco Nigro da6b851c60 ARTEMIS-1098 Improve flow control while streaming large messages 2017-04-10 13:58:33 -04:00
Clebert Suconic dbe1976b47 NO-JIRA: Using Env as the source of isTestEnv 2017-04-07 10:31:03 -04:00
Francesco Nigro a0f369af05 ARTEMIS-1099 Force Netty EPOLL to be available only on Linux 64bit platforms 2017-04-07 10:28:22 -04:00
Clebert Suconic 911888e8d1 ARTEMIS-1089 Improving flow control on replication 2017-04-06 21:45:31 -04:00
Jeff Mesnil ee50ce4042 [ARTEMIS-1043] Support IPv6 in NettyConnector
Call IPV6Util.encloseHost when creating the uri used to send the HTTP
ugrade request to ensure that IPv6 address are properly enclosed.

JIRA: https://issues.apache.org/jira/browse/ARTEMIS-1043
2017-04-06 19:57:21 -05:00
Clebert Suconic cbe3621431 ARTEMIS-1096 Changing Global Max Size's default 2017-04-06 19:55:09 -05:00
Francesco Nigro 41a069a346 NO-JIRA Fixed log level test on NettyConnection 2017-04-06 13:23:49 -04:00
Clebert Suconic f88311b04b ARTEMIS-1025 small tweak on logs 2017-04-06 11:40:10 -04:00
Francesco Nigro 27cfb2d902 ARTEMIS-1025 Improve flow control on NettyConnection 2017-04-06 17:22:05 +02:00
Francesco Nigro f53449b945 ARTEMIS-1095 Netty's WriteBufferWaterMark configuration via TransportConstants 2017-04-06 15:26:13 +02:00
Justin Bertram 073a280629 ARTEMIS-1092 Validated user + AMQP fix
When populate-validated-user = true AMQP messages can cause exceptions.
This feature isn't particularly applicable to AMQP so this commit
eliminates the exception and leaves the AMQP messages untouched
even if populate-validated-user = true. In other words,
populate-validated-user + AMQP is not supported.
2017-04-04 14:46:22 -05:00
Clebert Suconic 9bef242b74 ARTEMIS-1056 Adjusting Acceptor values
I have been doing tests with quiver at large message sizes
the tests would work really slowly without these fixes
2017-03-30 09:54:26 +01:00
Howard Gao 82c720bdfb ARTEMIS-1071 Invalid Type exception handling improvements
If broker fails to decode any packets from buffer, it should
treat it as a critical bug and disconnect immediately.
Currently broker only logs an error message.
2017-03-29 09:19:52 -04:00
Justin Bertram ce3adf6fa8 ARTEMIS-1065 get queue names by routing type 2017-03-29 09:18:16 -04:00
Clebert Suconic 1f4473e8d7 ARTEMIS-1081 Implementing AMQP UndeliverableHere 2017-03-28 20:32:28 -05:00
Justin Bertram b7e11f92b6 ARTEMIS-1064 AddressControl routingType fix 2017-03-28 15:30:52 -05:00
Armand Roelens 3ceb332866 ARTEMIS-1074 Acceptors/Connectors now start up when configured to use SSL and a password codec 2017-03-28 15:10:33 -05:00
Clebert Suconic b395504e15 ARTEMIS-1077 Fixing Pool usage on InVM and RemotingConnection 2017-03-28 09:19:57 -05:00
Andy Taylor ec7e6d7ea7 ARTEMIS-1075 - Add Routing Type to QueueControl management API
https://issues.apache.org/jira/browse/ARTEMIS-1075
2017-03-28 10:40:52 +01:00
Justin Bertram 427039ef38 ARTEMIS-1068 routingType + AMQP fixes 2017-03-24 15:15:10 -05:00
Clebert Suconic 096556f346 ARTEMIS-994 Tidy up on epoll
- improved logging
- renamed properties and tidy up on configurations
2017-03-23 18:16:48 -05:00
Michael André Pearce a610748c09 ARTEMIS-994 Support Netty Native Epoll on Linux
The following changes are made to support Epoll.

Refactored SharedNioEventLoopGroup into renamed SharedEventLoopGroup to be generic (as so we can re-use for both Nio and Epoll)

Add support and toggles for Epoll in NettyAcceptor and NettyConnector (with fall back to NIO if cannot load Epoll)

Removal from code of PartialPooledByteBufAllocator, caused bad address when doing native, and no longer needed - see jira discussion

New Connector Properties:

useEpoll - toggles to use epoll or not, default true (but we failback to nio gracefully)
remotingThreads = same behaviour as nioRemotingThreads. Previous property is depreated.
useGlobalWorkerPool = same behaviour as useNioGlobalWorkerPool. Old property is deprecated.

New Acceptor Properties:

useEpoll - toggles to use epoll or not, default true (but we failback to nio gracefully)
useGlobalWorkerPool = same behaviour as useNioGlobalWorkerPool but for Epoll.

This closes #1093
2017-03-23 18:16:48 -05:00
Clebert Suconic 2c9b02806d ARTEMIS-1056 Removing PartialPooledByteBufAllocator 2017-03-23 18:16:48 -05:00
Francesco Nigro 759d3b78d9 ARTEMIS-1036 Streaming huge messages would cause OME 2017-03-23 10:42:44 -04:00
Jeff Mesnil bbba5617d6 [ARTEMIS-1057] Log AMQ214023 at DEBUG level
JIRA: https://issues.apache.org/jira/browse/ARTEMIS-1057
2017-03-22 09:55:40 -05:00
Clebert Suconic 0bfb39bfb5 ARTEMIS-1056 Performance improvements on AMQP 2017-03-22 09:55:02 -05:00
Clebert Suconic 65ac7f700b ARTEMIS-1052 Proper Expiry over AMQP 2017-03-20 18:33:31 -04:00
Andy Taylor c6f73b0c0a ARTEMIS-1042 - support amqp failover list
https://issues.apache.org/jira/browse/ARTEMIS-1042
2017-03-17 15:08:58 -04:00
Martyn Taylor c40823e5ec [maven-release-plugin] prepare for next development iteration 2017-03-10 14:54:33 +00:00
Martyn Taylor 70e319d6e3 [maven-release-plugin] prepare release 2.0.0 2017-03-10 14:52:26 +00:00
Martyn Taylor f1a5f1caf9 Revert "[maven-release-plugin] prepare release 2.0.0"
This reverts commit 057047499b.
2017-03-10 14:45:29 +00:00
Martyn Taylor 1964abe567 Revert "[maven-release-plugin] prepare for next development iteration"
This reverts commit 9a52f51c9f.
2017-03-10 14:44:58 +00:00
Martyn Taylor 9a52f51c9f [maven-release-plugin] prepare for next development iteration 2017-03-10 11:36:36 +00:00
Martyn Taylor 057047499b [maven-release-plugin] prepare release 2.0.0 2017-03-10 11:25:47 +00:00
Clebert Suconic a41a1930ef ARTEMIS-1009 AMQP shouldn't use application properties
As part of my refactoring on AMQP, the broker shouldn't rely on Application properties
for any broker semantic changes on delivery.

I am removing any access to those now, so we can properly deal with this post 2.0.0.
2017-03-09 12:27:39 -05:00
Clebert Suconic c369084381 ARTEMIS-1009 Tight up on AMQP
avoiding application properties even further
fixing nolocal
2017-03-09 08:12:42 -06:00
Clebert Suconic 94b47e370b ARTEMIS-1009 Fixing compatibility
there was an issue with running older clients
Found by this testsuite:

https://github.com/clebertsuconic/messaging-versioning

this will fix further compatibility issues
2017-03-06 22:09:41 -05:00
Clebert Suconic fe0ca4d84f ARTEMIS-1009 Pure Message Encoding.
with this we could send and receive message in their raw format,
without requiring conversions to Core.

- MessageImpl and ServerMessage are removed as part of this
- AMQPMessage and CoreMessage will have the specialized message format for each protocol
- The protocol manager is now responsible to send the message
- The message will provide an encoder for journal and paging
2017-03-05 23:08:53 -05:00
Howard Gao 392fd08614 ARTEMIS-1007 Missing management annotations
There are some operations in ActiveMQServerControl that don't have
@Parameter annotations. That will make clients like JBoss Jon failed
to invoke those operations.
Also in AddressControl there is a typo in sendMessage. The second
parameter's name should be 'type' not 'headers'.
2017-03-01 08:30:11 -06:00
Martyn Taylor dc40f60e6b ARTEMIS-1002 Use default PooledBufferAllocator in ActiveMQBuffers 2017-02-27 14:23:29 -05:00
Justin Bertram 16285ba548 ARTEMIS-993 removing unreachable code 2017-02-24 13:36:23 -06:00
Jiri Danek a7a0535afa NO-JIRA Fixing typos in log messages, test names and comments
Related to ARTEMIS-387 (fowardingAddress)
2017-02-20 20:54:45 -05:00
Clebert Suconic 41737c8f3c Revert "NO-JIRA Remove Property shouldn't invalidate buffer if not found"
This reverts commit cf71b7292a.
2017-02-17 11:52:07 -05:00
Clebert Suconic cf71b7292a NO-JIRA Remove Property shouldn't invalidate buffer if not found 2017-02-16 21:03:38 -05:00
Clebert Suconic f38d5c7dbc ARTEMIS-969 Unecessary buffer expansion on message delivery 2017-02-15 13:49:00 -05:00
Justin Bertram 168ea70149 ARTEMIS-953 small syntax error 2017-02-14 20:20:11 -05:00
Jeff Mesnil 992dc2bc1b [ARTEMIS-963] Prevent ClassCastException in ActiveMQChannelHandler
When HTTP Upgrade is enabled, update Netty's pipeline only after the
HTTP Upgrade handshake is successful *and* the trailing
EMPTY_LAST_CONTENT is received.
Otherwise, this EMPTY_LAST_CONTENT is handled by
ActiveMQChannelHandler which is only expected to handle ByteBuf

JIRA: https://issues.apache.org/jira/browse/ARTEMIS-963
2017-02-14 11:45:26 -06:00
Justin Bertram ff3e75d148 NO-JIRA move RoutingType to different package 2017-02-13 09:50:41 -06:00
Clebert Suconic 452330153e NO-JIRA: MessageImpl::forceCopy is no longer used 2017-02-09 19:39:54 -05:00
Justin Bertram 2bda3b2b4f ARTEMIS-953 Refactor JMX ObjectNames 2017-02-08 15:00:20 -06:00
Andy Taylor 43a9276484 ARTEMIS-866 - replication improvements
add functionality to allow live to vote for quorum on failure

Also allow the quorum size to be configurable.

https://issues.apache.org/jira/browse/ARTEMIS-866
2017-02-07 13:47:03 +00:00
Jeff Mesnil dd052026e6 [ARTEMIS-931] Fix HTTP Upgrade Connection
* Fix isEquivalent() method to take into account the activemqServerName
  property when httpUpgradeEnabled is true. Two ActiveMQ server hosted on
  the same app server may have the same host and port (corresponding to
  the Web server HTTP port). The activemqServerName property is used to
  distinguish them.
* Iron out HTTP upgrade handler so that the latch is always count down
  and the channel context is closed unless the handshake was completed
  successfully

JIRA: https://issues.apache.org/jira/browse/ARTEMIS-931
2017-02-07 10:03:36 +01:00
Martyn Taylor 3900cb0ec7 ARTEMIS-917 Only return body of retained message after reboot 2017-02-06 13:33:26 -06:00
Jeff Mesnil 5a59cd19f8 [ARTEMIS-931] Improve HTTP Upgrade connection
If the object received is not an expected HttpResponse, close the
ChannelHandlerContext and countdown the latch

JIRA: https://issues.apache.org/jira/browse/ARTEMIS-931
2017-01-20 15:22:25 +01:00
Justin Bertram 113b28577c ARTEMIS-873 support byte notation in XML config 2017-01-19 10:32:38 -05:00
Will Reichert 3347a4fd27 ARTEMIS-928 Changing Netty and InVM to copy buffers, and retain them on the Netty Polls. 2017-01-18 16:59:32 -05:00
Clebert Suconic 7a7f335271 ARTEMIS-962 Adding test for CME when parsing system properties and a few tweaks 2017-01-18 16:18:05 -05:00
Martyn Taylor 118c272c77 ARTEMIS-560 Add Support For JDBC Paging 2017-01-17 14:58:53 -05:00
Justin Bertram 68c4e50847 ARTEMIS-927 mask password in CreateSessionMessage 2017-01-17 11:41:29 -06:00
Justin Bertram 8cf94623a4 ARTEMIS-922 Rename deleteOnNoConsumers throughout
The name "deleteOnNoConsumers" isn't a good match for the semantics underneath.
The name "purgeOnNoConsumers" (and variants) is a better fit.
2017-01-17 11:40:56 -06:00
Clebert Suconic 9f9ffc1ff5 ARTEMIS-913 Slow consumer detection not working when paging 2017-01-09 12:34:13 -05:00
Andy Taylor 6af85a2cc4 couple of small changes to JMX mbeans - no jira 2017-01-09 13:40:14 +00:00
Dejan Bosanac 668f4721f0 https://issues.apache.org/jira/browse/ARTEMIS-815 - implement configurable wildcard addresses syntax
Rename WildCardConfigurationTest.java to WildcardConfigurationTest.java

adjust schema
2017-01-04 09:44:03 -06:00
Clebert Suconic b9a7e152f7 ARTEMIS-900 fix compatibility after address changes 2016-12-21 19:40:35 -05:00
Clebert Suconic 1bed2c9512 NO-JIRA cli improvements 2016-12-16 18:46:46 -06:00
jbertram 49f1c9935c NO-JIRA move divert specific routing types 2016-12-15 17:53:50 -05:00
Francesco Nigro 0a4d1b38c8 ARTEMIS-878: Improved CLI commands 2016-12-15 13:41:30 +00:00
jbertram 3150759806 ARTEMIS-880 use built-in prefixing for STOMP 2016-12-13 15:05:43 -06:00
Clebert Suconic 66e7e6645d ARTEMIS-882 fixing checkstyle 2016-12-09 16:58:02 -05:00
Clebert Suconic dc472192f4 ARTEMIS-882 Supporting lists on URIs 2016-12-09 16:20:01 -05:00
Martyn Taylor 6682072da6 Major Version Bump 2.0.0 After Major Arch Change 2016-12-09 18:43:15 +00:00
jbertram fa67d40b9d ARTEMIS-789 Fixed a number of failing tests 2016-12-09 18:43:15 +00:00
jbertram fe52ca6d75 ARTEMIS-881 Support new address-settings for auto-create queue 2016-12-09 18:43:15 +00:00
Francesco Nigro 6ab133ab89 ARTEMIS-878 Added/Modified CLI commands and tests 2016-12-09 18:43:15 +00:00
Martyn Taylor 8f532cc25d ARTEMIS-880 Add support for address prefixing 2016-12-09 18:43:15 +00:00
Andy Taylor 224f62b295 ARTEMIS-877 Add Consumer support for AMQP for new addressing schema 2016-12-09 18:43:15 +00:00
jbertram b742a357c5 ARTEMIS-876 Deprecate JMSServerManager and update JMS bootstrap 2016-12-09 18:43:15 +00:00
jbertram 683ae68989 ARTEMIS-789 Fix Failing Tests 2016-12-09 18:43:15 +00:00
Andy Taylor 74d0a1a818 ARTEMIS-784 Add new JMX methods and update JMX API 2016-12-09 18:43:15 +00:00
Martyn Taylor a20b23bf37 ARTEMIS-787 Update CORE Protocol/Client Packets 2016-12-09 18:43:15 +00:00
Martyn Taylor 279383a798 ARTEMIS-780 Update Shared Queue API to use Address model 2016-12-09 18:43:15 +00:00
jbertram c480351c11 ARTEMIS-780 Consolodate protocol packets and new Address/Queue commands 2016-12-09 18:43:15 +00:00
Martyn Taylor 7a51491c32 ARTEMIS-780 Added ability to define 2 Routing Types on a single addres 2016-12-09 18:43:15 +00:00
jbertram 0861be14c1 ARTEMIS-789 Fix various failing tests due to addressing changes 2016-12-09 18:43:15 +00:00
Martyn Taylor ec8f06138c ARTEMIS-878 Update the CLI to incorporate Addresses and new Queue 2016-12-09 18:43:15 +00:00
jbertram a88853fe53 ARTEMIS-788 Stomp refactor + track autocreation for addresses 2016-12-09 18:43:15 +00:00
Andy Taylor 0189f156ec ARTEMIS-876 Remove JMS JMX Objects and add new Address JMX objects 2016-12-09 18:43:15 +00:00
Martyn Taylor 0006627d12 ARTEMIS-876 Internalise Cluster Namespace and remove JMS Prefix 2016-12-09 18:43:15 +00:00
jbertram 84e8a87325 ARTEMIS-876 Remove all reliances on JMS prefixing 2016-12-09 18:43:15 +00:00
Martyn Taylor abdeb72eb7 ARTEMIS-782 Added configuration elements for new address model 2016-12-09 18:43:15 +00:00
Clebert Suconic ebbc91c728 [maven-release-plugin] prepare for next development iteration 2016-12-06 16:59:52 -05:00
Clebert Suconic 5bcbea2517 [maven-release-plugin] prepare release 1.5.1 2016-12-06 09:47:43 -05:00
Clebert Suconic 402f25be7d ARTEMIS-473/ARTEMIS-863 Detect network failures 2016-11-23 10:14:14 -06:00
Shaun Appleton f570b5aa17 ARTEMIS-859 Add BACKLOG_PROP_NAME on the TransportConstants list 2016-11-21 11:22:29 -05:00
Clebert Suconic 9009d12b5a ARTEMIS-851 Allowing broker configuration to be changed through system properties
This will use Bean Utilities to change propertyes at the main configuration.
2016-11-16 14:41:18 +00:00
Howard Gao 4691cbe882 ARTEMIS-842 JMSMessageID doesn't appear to work in selector 2016-11-08 09:52:12 +08:00
Clebert Suconic df4c3c8584 ARTEMIS-840 removing password log that was forgotten 2016-11-07 15:27:17 -05:00
Clebert Suconic f2db1c4337 [maven-release-plugin] prepare for next development iteration 2016-11-03 15:35:05 -04:00
Clebert Suconic 13a8a2bd40 [maven-release-plugin] prepare release 1.5.0 2016-11-03 15:34:54 -04:00
Clebert Suconic 5e5ac0f057 ARTEMIS-832 Openwire was ignoring data syncs.
I'm also adding the possibility of sync on libaio, and not only relay on write-cache
2016-11-02 13:17:12 -05:00
barreiro 4b47461f03 ARTEMIS-822 Add executor service to JournalImpl for append operations and remove synchronization
https://issues.apache.org/jira/browse/ARTEMIS-822
2016-10-28 16:54:59 -04:00
Clebert Suconic e0021252ee ARTEMIS-829 Removing messages re-encoding
https://issues.apache.org/jira/browse/ARTEMIS-829
2016-10-28 16:54:58 -04:00
Ulf Lilleengen 1b7033a20e ARTEMIS-824: Add management routines for connector services 2016-10-26 10:11:11 +02:00
Ulf Lilleengen b2a5fe19d3 ARTEMIS-814: Notify connection listener of connection created 2016-10-24 09:42:22 -04:00
Clebert Suconic a074f9f1a5 ARTEMIS-753 Queue Pause and Resumed persisted 2016-10-21 20:26:23 -04:00
Clebert Suconic e44c99d884 ARTEMIS-809 Removing Large message body from toString() 2016-10-20 11:19:13 -04:00
Tomas Hofman b2b6743b58 ARTEMIS-805 old JMS clients failing on new broker
Old JMS clients are getting a CCE related to SessionBindingQueryResponseMessage
2016-10-19 13:22:56 -04:00
Jeff Mesnil c1ecddcb71 [ARTEMIS-803] Fix colocated backups with http-upgrade acceptor
*  Do not offset ports for Netty connector/acceptor with http-upgrade
enabled.
* Pass the name of the ActiveMQ server to the HTTP request to initiate
the Upgrade so that the HTTP endpoint on the app server can find the
correct ActiveMQ broker that must handle the upgrade.

JIRA: https://issues.apache.org/jira/browse/ARTEMIS-803
2016-10-18 09:00:36 -04:00
Paul Gallagher fcb70f3f60 ARTEMIS-779 upgrade to netty 4.1.5.Final 2016-10-10 23:24:56 +02:00
Ville Skyttä ddd1559fbe javadoc: Fix doclint empty <p> warnings 2016-10-10 10:02:49 +02:00
Martyn Taylor 95c4fdd408 ARTEMIS-762 Reflect management changes in AMQP protocol 2016-10-07 10:38:01 -04:00
Ville Skyttä 082b75bb3d More use of try-with-resources 2016-09-30 13:17:26 -04:00
Clebert Suconic ec48f9ed00 ARTEMIS-765 Improve Checkstyle 2016-09-30 11:12:09 -04:00
Ville Skyttä 1a4fe92802 Fix WaitNotInLoop issues flagged by new Error Prone 2016-09-27 14:28:29 +03:00
Ville Skyttä b69af66f47 Expose disk-scan-period, max-disk-usage, and global-max-size in server control 2016-09-26 13:33:23 -04:00
Ville Skyttä bd5103c48e ARTEMIS-754 Fix JsonUtil.addTo*() null add 2016-09-26 13:28:16 -04:00
Francesco Nigro c002cf13b8 ARTEMIS-743 Created QueueConfig that replace and enable additional behaviours on QueueFactory.
Added Filter predicate.
2016-09-22 15:45:14 +01:00
Dmitrii Tikhomirov 6b8d52295e ARTEMIS-715 messages could be sent to wrong queue
In rare circumstances MessageProducer can send a message
to wrong queue
2016-09-19 13:49:40 -04:00
Dmitrii Tikhomirov 62f90eaf81 ARTEMIS-715 messages could be sent to wrong queue
In rare circumstances MessageProducer can send a message
to wrong queue
2016-09-08 09:26:11 -04:00
Clebert Suconic 505b732843 [maven-release-plugin] prepare for next development iteration 2016-09-06 12:17:31 -04:00
Clebert Suconic b305e231ec [maven-release-plugin] prepare release 1.4.0 2016-09-06 12:17:08 -04:00
Clebert Suconic 4472aa0e36 ARTEMIS-581 Implement max disk usage, and global-max-size
max-disk-usage = how much of a disk we can use before the system blocks
global-max-size = how much bytes we can take from memory for messages before we start enter into the configured page mode

This will also change the default created configuration into page-mode as that's more reliable for systems.
2016-09-06 15:07:49 +01:00
Ville Skyttä d5242978d5 for and while loop to foreach conversions 2016-08-25 14:22:32 -04:00
Ville Skyttä e1728f0797 Spelling fixes 2016-08-25 14:22:32 -04:00
Clebert Suconic 858d7a1a02 ARTEMIS-697 Making JChannelManager a singleton, and fixing tests 2016-08-24 18:08:17 -04:00
Ulf Lilleengen bf4796c5d3 ARTEMIS-697 Avoid self-discovery
This avoids an issue where a broker would discover itself, causing an unexpected behavior when using
core bridges to forward messages:
   * Make channel manager a singleton ensuring that only one channel with a given name exists
   * Ensure that messages are marked with NON_LOOPBACK to avoid receiving messages originating from
     itself
2016-08-24 17:06:55 -04:00
Clebert Suconic 92c5d5cd50 ARTEMIS-684 Random is not equaly distributed among different VMs 2016-08-23 19:36:54 -04:00
bayern39 2bff3d2b9b fixing typos 2016-08-23 17:14:25 -04:00
Clebert Suconic a3840c23c3 [maven-release-plugin] prepare for next development iteration 2016-08-16 11:59:55 -04:00
Clebert Suconic d38ef19bf6 [maven-release-plugin] prepare release 1.4.0 2016-08-16 11:59:36 -04:00
jbertram cfbe06f3bc ARTEMIS-656 support host verification for SSL cert 2016-08-15 13:58:25 -04:00
Clebert Suconic 53bb3ea183 ARTEMIS-542 removing excessive warning from codebase 2016-08-10 16:10:57 -04:00
Clebert Suconic 579d6226aa ARTEMIS-671 Returning messages after connection killed, and validating usage of reconnect 2016-08-09 11:23:46 +01:00
Howard Gao 2fb8341f8d ARTEMIS-604 - Add checks for object messages in REST and AMQP
- Rest interface fix
  - Doc fixes (Rest->REST)
  - JSON management and AMQP outbound
2016-08-09 11:22:48 +01:00
Howard Gao 0535218cfc ARTEMIS-604 - Message Serialization Improvement
- JMS and RA fixes
2016-08-09 11:22:48 +01:00
jbertram 1ef9e74f14 ARTEMIS-601 load runtime security cfg file changes 2016-08-07 20:17:56 -05:00
bayern39 a741642a48 [ARTEMIS-642] Disable slow client reconnecting with KILL slow client policy 2016-08-03 18:39:57 -04:00
Clebert Suconic a5360e42df ARTEMIS-565 another JSON fix 2016-08-01 13:54:04 -04:00
jbertram 7917f4d2f2 ARTEMIS-565 JSON fixes 2016-08-01 10:21:31 -05:00
Ville Skyttä adef9e4133 Add missing @Override annotation 2016-07-29 15:38:08 -04:00
Ville Skyttä 1bc42be7ff Access static fields and methods directly 2016-07-29 15:38:08 -04:00
Clebert Suconic fccf1c8243 ARTEMIS-565 Dealing with ClassLoading issues on managements. Caching provider loaded 2016-07-29 13:58:37 -04:00
jbertram 4f95c8a64a ARTEMIS-405 more bits of JMX doc 2016-07-28 15:18:11 -04:00
Clebert Suconic 85878513a5 This closes #679 2016-07-28 12:32:36 -04:00
jbertram 1ca5b19a10 ARTEMIS-565 additional JSON fixes 2016-07-28 11:33:19 -04:00
Ville Skyttä ac885db706 Add missing @Override annotation 2016-07-28 18:13:41 +03:00
Ville Skyttä 429e1e84d4 Remove unnecessary casts 2016-07-28 18:12:59 +03:00
Clebert Suconic 8873744d27 ARTEMIS-565 fixing JMS Control stuff 2016-07-27 19:14:32 -04:00
jbertram 3914f1aa8b ARTEMIS-647 track 'killed' msg count on queue
A 'killed' message is one that has been sent to a dead-letter address
or otherwise removed from the queue due to exceeding the max delivery
attempts.
2016-07-27 16:44:59 -04:00
jbertram 32abe61876 ARTEMIS-646 track expired msg count on queue 2016-07-26 16:15:02 -05:00
Clebert Suconic 76938fe44a ARTEMIS-565 more tweaks on the JSON replacement 2016-07-26 16:05:17 -04:00
Clebert Suconic b7efd5db3b ARTEMIS-565 A few fixes around the JSON change 2016-07-26 14:17:45 -04:00
jbertram 5d71ffc5e6 ARTEMIS-587 add more JSON JMX mgmt methods to core 2016-07-26 11:39:19 -04:00
Ville Skyttä aed49b3894 Spelling fixes 2016-07-26 14:24:45 +03: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
Clebert Suconic 1c56aa9bef ARTEMIS-628 Adding back old constructor for API compatibility 2016-07-25 14:01:30 -05:00
Martin Styk c9dfbad69c ARTEMIS-651 Typo in word "topology" in class ServerLocatorImpl 2016-07-25 14:26:47 -04:00
jbertram 577620533d Fix ByteBuffer regression from Netty upgrade
Using array() is a bit dangerous as it's an optional part of any
ByteBuffer implementation. This new method will deal with various
ByteBuffer implementations appropriately.
2016-07-25 16:26:21 +01:00
Martyn Taylor bed73f57b3 ARTEMIS-641 Enable filtering on address in server consumer 2016-07-21 14:47:20 -05:00
jbertram 89e0c461e5 ARTEMIS-611 refactor STOMP cxn TTL + heart-beat
Adds 3 new URI properties for STOMP acceptors to allow finer grained
configuration of heart-beat / connection-TTL behavior.
2016-07-18 17:10:05 -05:00
jbertram dc76e2a6a0 ARTEMIS-640 Allow config of cxn TTL check interval
Add connection-ttl-check-interval configuration attribute to allow
control of how frequently connection TTL checks are performed.
2016-07-18 17:06:26 -05:00
jbertram e9db9c286d ARTEMIS-628 add BROWSE role 2016-07-12 16:21:57 -05:00
jbertram 765b225924 ARTEMIS-584 add validated user to msg
Implements a new feature to aid in security auditing by adding the name
of the validated user to the messages it sends.
2016-07-06 09:37:29 -05:00
Ville Skyttä f1dc94534f Combine identical catch blocks 2016-07-05 14:18:01 -04:00
Ville Skyttä 149216e8ec Remove unnecessary null checks and assignments 2016-07-05 14:18:01 -04:00
Clebert Suconic ace11835c9 ARTEMIS-597 Adding Logging manager to a few poms
this is making a few tests to show an Exception when they start
2016-06-29 16:27:47 -04:00
jbertram e9733a6223 ARTEMIS-569 add missing method 2016-06-27 18:23:45 -04:00
Clebert Suconic 5dc5a242bb ARTEMIS-577 & ARTEMIS-596 Fixing API compatibility.
This is also fixing a build issue.
2016-06-27 12:08:11 -04:00
jbertram ce9ea1760a ARTEMIS-569 fix bridge producerWindowSize
Something bizarre happened with commit
8f52a622d0 in April 2015. It reverted the
changes from both c1111cc156 and
ada112a6a3. This commit fixes that.
2016-06-24 16:54:48 -05:00
Ville Skyttä 3923ae45f4 Fix checkstyle redundant modifier violations 2016-06-13 20:03:54 +03:00
Ville Skyttä e493748040 Fix checkstyle curly brace violations 2016-06-13 18:21:43 +03:00
Martyn Taylor 9ae39f663f [maven-release-plugin] prepare for next development iteration 2016-06-09 12:52:56 +01:00
Martyn Taylor 221039e353 [maven-release-plugin] prepare release 1.3.0 2016-06-09 12:49:13 +01:00
Martyn Taylor 319439ab27 [maven-release-plugin] prepare for next development iteration 2016-06-09 12:25:19 +01:00
Martyn Taylor 2c5ab446be [maven-release-plugin] prepare release 1.3.0 2016-06-09 12:24:48 +01:00
Martyn Taylor 4a07091718 [maven-release-plugin] prepare for next development iteration 2016-06-09 11:25:03 +01:00
Martyn Taylor 93cf7b4b9b [maven-release-plugin] prepare release 1.3.0 2016-06-09 11:23:03 +01:00
Martyn Taylor 4574b3ee13 [maven-release-plugin] prepare for next development iteration 2016-06-08 11:03:35 +01:00
Martyn Taylor 2b3d22c5cc [maven-release-plugin] prepare release 1.3.0 2016-06-08 11:02:14 +01:00
jbertram e53649a6b9 ARTEMIS-322 auto-create/delete JMS topic
Implements a new feature for the broker whereby it may automatically create and
delete JMS topics which are not explicitly defined through the management API
or file-based configuration. A JMS topic is created in response to a sent
message or connected subscriber. The topic may subsequently be deleted when it
no longer has any subscribers. Auto-creation and auto-deletion can both be
turned on/off via address-setting.
2016-06-06 16:00:57 -04:00
Clebert Suconic a4055816b3 ARTEMIS-539 Proper fix on default address for core protocol
The previous fix was breaking compatibility with older servers.
We need to check the default address if an exception happened during the send (due to flow control or blocker)
2016-06-06 15:38:29 -04:00
Clebert Suconic 8fdd1f6496 Revert "ARTEMIS-539"
This reverts commit a3efafd975.
This reverts commit cf3396a3a6.
This reverts commit 17ea05bce6.
This reverts commit af4aa9fcb6.
2016-06-06 14:12:25 -04:00
Clebert Suconic a3efafd975 ARTEMIS-539 fixing testsuite 2016-06-03 17:32:07 -04:00
Clebert Suconic cf3396a3a6 ARTEMIS-539 fixing tests 2016-06-03 16:37:21 -04:00
Clebert Suconic 17ea05bce6 ARTEMIS-539 fixing default address on client as well 2016-06-03 12:04:20 -04:00
Martin Šmérek f84018a417 ARTEMIS-551 Obfuscate truststore password
Obfuscate truststore password in TransportConfiguration.toString()
in the same way as keystore. The password will not be logged in
plain text when bridge is connected.
2016-06-03 16:12:31 +02:00
Clebert Suconic 242730a278 Traces on producer.send 2016-05-31 18:14:38 -04:00
jbertram d9b721b35b ARTEMIS-405 correct some missing docs 2016-05-23 18:26:21 -04:00
Clebert Suconic 3e2adf123b ARTEMIS-524 Paging could lose data eventually after crashes
https://issues.apache.org/jira/browse/ARTEMIS-524

I am keeping all the debug ad tracing I added during the debug of this issue,
for that reason this commit may look longer than expected

The fix will be highlited by the tests added on org.apache.activemq.artemis.tests.integration.client.PagingTest
2016-05-17 20:28:40 -04:00
Clebert Suconic ec52693513 Individualizing traces and debug on client 2016-05-17 14:36:59 -04:00
jbertram 04c9564d77 ARTEMIS-517 API to check sync with backup 2016-05-16 10:01:18 -05:00
Erich Duda a622fa7443 ARTEMIS-518 - Improvement of default thread factory 2016-05-09 14:33:41 -04:00
jbertram 6aaa9df49f Improve packet toString() to ease debug 2016-05-05 09:33:01 -05:00
Martyn Taylor 1c3d63516f ARTEMIS-514 Add support for LargeMEssages backed by Database 2016-05-04 13:36:28 -04:00
Bernd Gutjahr 1591d25692 ARTEMIS-507 New thread pool for client threads
- Added a thread pool executor, that combines cached and fixed size thread pooling.
  It behaves like a cached thread pool in that it reuses exising threads and removes
  idle threads after a timeout, limits the maximum number of threads in the pool, but
  queue additional request instead of rejecting them.
- changed existing code to use the new thread pool instead of a fixed-size thread pool in
  all places that are configured with a client thread pool size.
2016-04-27 11:03:32 +01:00
Bernd Gutjahr 971a0a13bd ARTEMIS-497 Prevent 10 second stalls when closing an SSL connection
When NettyConnection.classSSLAndChannel is called from the EventLoop,
waiting for the SSL handler to close will always take 10 seconds, because
the sslCloseFuture is from a task that is scheduled with the same
EventLoop. But since the EventLoop is a single threaded executor, it
will only be executed after the current task is completed.

Due to the single threaded nature of the EventLoop, all blocking calls
should be avoided. Therefore, I removed both awaitUninterruptibly calls
if the closing happens within an event loop tasks. As a side effect,
the annoying server log timeout warnings will go away.
2016-04-25 14:48:58 +01:00
bayern39 350eec896a ARTEMIS-501 Incorrect log message in class ClientSessionFactoryImpl 2016-04-25 14:18:30 +01:00
Bernd Gutjahr ec4cbf7b34 abstracted global client thread pools from ThreadPoolExecutor as implementation
Changed the ActiveMQClient interface to expose global thread pools as
ExecutorService and ScheduledExecutorService interface. This is necessary
to allow injecting thread pool implementations that are not based on
ThreadPoolExecutor or ScheduledThreadPoolExecutor.
2016-04-20 15:29:25 +01:00
Bernd Gutjahr 1b5396c033 Protected ActiveMQClient API against misuse.
1. Changed public fields in ActiveMQClient to private and added getters.

Exposing fields for thread pool sized allow to modify them in undesired ways.
I made these fields private and added corresponding getter methods.
In addition, I renamed the field 'globalThreadMaxPoolSize'
to 'globalThreadPoolSize' to be more consistent with the
'globalScheduledThreadPoolSize' field name.
I also adapted some tests to always call clearThreadPools after
the thread pool size configuration has been changed.

2. Protect against injecting null as thread pools

ActiveMQClient.injectPools allowed null as injected thread pools.
The effect was that internal threads pools were created,
but not shutdown correctly.
2016-04-20 15:29:25 +01:00
Bernd Gutjahr 2360fb4c9f ARTEMIS-485 Allow configuring an unbounded cached global client thread pool
Adapted code to handle -1 correctly to configure an unbounded thread pool.
In addition, I removed the capability to reconfigure the max pool size
of existing thread pools, because the global thread pool can either be
an unbounded cached pool, or a bounded fixed size pool.
These 2 kinds of pool also differ in the used blocking queue,
therefore cannot be converted into each other.
2016-04-20 15:29:25 +01:00
jbertram 9d7a49b388 ARTEMIS-417 more broker-level JMX attrs 2016-04-19 23:00:32 -04:00
jbertram 30907ffd8c ARTEMIS-400 allow SSL store reload 2016-04-18 17:51:46 -04:00
jbertram 5591bcabcc ARTEMIS-405 JMX attributes doc 2016-04-18 17:50:09 -04:00
Clebert Suconic ec73961f72 ARTEMIS-474 another fix on JChannelWrapper 2016-04-14 21:57:17 -04:00
Clebert Suconic 630db2d69c ARTEMIS-474 Clustering fails on certain topologies
Communication between nodes will fail under certain topologies
JGroups has something called JForkChannel that could be used on container systems.
And be injected into Artemis.
For some reason that channel cannot be reused for more than one channel per VM.
And it cannot ever be closed.

I am keeping the trace logs I used to debug this issue in case anything similar to this happens again.
2016-04-14 18:55:01 -04:00
Clebert Suconic d6c7e30594 ARTEMIS-484 Large Message Loss on Initial replication
https://issues.apache.org/jira/browse/ARTEMIS-484

The File copy after the initial synchronization on large messages was broken.
On this commit we fix how the buffer is cleaned up before each read since
a previously unfinished body read would make the buffer dirty.

I'm keeping also lots of Traces I have added to debug this issue, so they will
be useful if anything like this happens again.
2016-04-14 18:55:01 -04:00
Clebert Suconic 3ecd8b7c44 ARTEMIS-474 Avoiding one lock around the readyListener call tree and fixing ReplicationManager / NettyConnection deadlock 2016-04-14 18:55:01 -04:00
Ville Skyttä 3dc3e8520d Remove redundant toString calls 2016-04-11 16:54:30 -04:00
Ville Skyttä cf00dd9b1b Avoid instantiating some number objects 2016-04-11 16:53:48 -04:00
Ville Skyttä 782d3419b8 Remove dead code 2016-04-11 16:50:43 -04:00
Clebert Suconic 6ddf486f8f ARTEMIS-463 Refactoring on Openwire
https://issues.apache.org/jira/browse/ARTEMIS-463

This was a team effort from Clebert Suconic and Howard Gao
2016-04-04 11:08:43 -05:00
Ville Skyttä 16ee65309c Add missing @Override annotations 2016-04-04 11:03:48 -05:00
jbertram 32ce8710fc ARTEMIS-445 avoid NPE on null ks password 2016-03-21 18:35:21 -04:00
jbertram 7653d17e6a ARTEMIS-441 correct time-unit for large msg poll 2016-03-17 09:22:14 -05:00
Martyn Taylor e9992bc59f ARTEMIS-439 Set default global thread pool based on cores 2016-03-15 15:20:21 +00:00
Clebert Suconic 26fe21baa4 ARTEMIS-437 Large Message send should be interrupted during failover 2016-03-11 13:13:32 -05:00
kurobako 1c2164adad Removing Synchronization performed on java.util.concurrent.ConcurrentLinkedDeque object in class NettyConnection 2016-03-07 15:58:42 -05:00
Ville Skyttä 31404f8a38 Remove redundant null checks 2016-03-07 15:49:50 -05:00
jbertram b23046d5f7 ARTEMIS-385 clean-up factory on timeout
This restores a call to ClientSessionFactory#cleanup that appears to have been
mistakenly removed by a previous change related to this JIRA.
2016-03-03 12:42:20 -06:00
Andy Taylor a3962d6d26 ARTEMIS-426 - java.lang.IllegalStateException: AMQ119116: Netty Acceptor unavailable
also related to https://issues.apache.org/jira/browse/ARTEMIS-416

https://issues.apache.org/jira/browse/ARTEMIS-426
2016-03-01 14:17:41 +00:00
Howard Gao ddf8d8f96e ARTEMIS-421 wrong XA_RETRY XAException error code
returned on crash for 1PC
2016-02-24 22:23:57 +08:00
Ville Skyttä aa3f3bd6a7 Use try-with-resources more 2016-02-21 12:09:43 +02:00
Clebert Suconic 9ebc6786b6 ARTEMIS-401 Refactoring Acceptors and ProtocolManager to support parameters
https://issues.apache.org/jira/browse/ARTEMIS-401
2016-02-18 10:14:26 -06:00
Martyn Taylor 32a9d60a3d Allow users to configure jdbc driver class name
This patch allows users to configure the Driver class that the JDBC
store and journal uses and removes Derby as a default.
2016-02-08 11:23:38 -05:00
Clebert Suconic f0b8f1e356 ARTEMIS-385 small fix 2016-02-04 15:59:50 -05:00
Clebert Suconic df4469092b Removing unecessary concurrent collection. Replacing by regular one 2016-02-04 18:31:31 +00:00
Clebert Suconic 26945a4716 ARTEMIS-385 On a possible race the Topology final notification may get lost when using many connection factories
https://issues.apache.org/jira/browse/ARTEMIS-385

This fix will make sure we only wait for the topologies that are arriving from the current connection over the createFactory method
2016-02-04 09:35:08 -05:00
Clebert Suconic c982b1fa40 avoiding NPE on PingRunnable 2016-02-02 08:58:21 -06:00
Clebert Suconic f149e76b3f Improving bodyBuffer encode / decode 2016-01-27 21:57:00 -05:00
Clebert Suconic e62a820414 Fixing ServerMessage's copy and MQTT delivery 2016-01-27 17:12:56 -05:00