summaryrefslogtreecommitdiff
path: root/java/client/src/main/java
Commit message (Collapse)AuthorAgeFilesLines
* QPID-1203 Don't treat protocol negotiation failure as failover reducing error.Aidan Skinner2008-07-291-4/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@680750 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1201: fixed up version of aidan's patch, there are still failures when ↵Rafael H. Schloming2008-07-296-72/+67
| | | | | | running against an external java broker, however we seem to get past basic connection negotiation now git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@680602 13f79535-47bb-0310-9956-ffa450edef68
* Updated the io transport to use a separate write thread with a circular ↵Rafael H. Schloming2008-07-222-26/+16
| | | | | | buffer that does opportunistic write batching. Fixed error handling and shutdown for the io transport. Switched default from mina to the io transport for the 0-10 client. Modified InputHandler to accumulate bytes in the outer loop and simplified the state machine accordingly. These changes should address QPID-1188, prevent the Java client from running out of memory when writing messages faster than the network and/or broker can keep up, and in general improve performance. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@678848 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1177 : Fixed the format of the messages, realised that the ↵Martin Ritchie2008-07-171-6/+2
| | | | | | transport.Connection uses a logging wrapper but in my haste to make the format the same in AMQProtocolHandler hadn't checked the output was as expected. Was missing the String.format. Also there was an extra debug level output of the sent frame. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@677525 13f79535-47bb-0310-9956-ffa450edef68
* Update to the logging to ensure QpidTestCase is always logged and ↵Martin Ritchie2008-07-161-2/+2
| | | | | | standardized the protocol output format between 0-8/0-9 and 0-10 git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@677319 13f79535-47bb-0310-9956-ffa450edef68
* Added a warning log statement if the TransportConnection autocreates an InVM ↵Martin Ritchie2008-07-161-0/+1
| | | | | | Broker git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@677258 13f79535-47bb-0310-9956-ffa450edef68
* Changed erroneous error level logging to info levelMartin Ritchie2008-07-162-6/+13
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@677257 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1178 : Prevent Rejecting messages destined for known QueueBrowsersMartin Ritchie2008-07-161-3/+15
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@677256 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1177 : Added Protocol Level Debug logging. Uses a final static so ↵Martin Ritchie2008-07-151-1/+13
| | | | | | should JIT out if disabled. To enable set -Damqj.protocol.logging.level=info git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@676982 13f79535-47bb-0310-9956-ffa450edef68
* QPID-940,QPID-594,QPID-805,QPID-826 : Updated the client exception handling ↵Martin Ritchie2008-07-1533-805/+893
| | | | | | | | | | | | | | | | | | | | | | so that exceptions are not lost. In performing the changes I noted that the AMQStateManager is only used for connection creation in the 08/09 codepath. Now this may be due to the fact that we don't currently need to wait on any other states. We need to improve our testing of error conditions for all protcol versions. Changes Summary: The MethodHandlers had their AMQStateManager parameters swapped for AMQSession as that is what they all cared about. The BlockingMethodFrameListener was used as a basis to create a generic BlockingWaiter which is now used by StateWaiter, There is probably scope to refactor the AMQStateManager and the parts of the AMQProtocolHandler that deal with the _frameListeners into a generic class but that can be looked at as part of a wider client refactor. Additionally tests were updated such as SimpleACLTest and ConnectionTest as they were expecting JMSExceptions from the constructor but the JMS API does not demand that and AMQExceptions are now correctly being thrown. The SimpleACLTest also required a change to AMQSession. The test calls send which will cause the connection to be closed asynchrously due to a permission violation. As this exception is not expected and is asynchorous to the client code it cannot be directly thrown. The solution is to record this exception in the AMQStateManager, it can tell that there are no waiters for the exception so it can record the value.(Potential exists to alert if the exception is overwritten but I don't think this is required right now) When the AMQSession checks that the connection is closed it is then possible to check if the current State is CLOSED and if we have an exception sitting in the AMQStateManager. If all these are true we can attach the AMQStateManager exception to the IllegalState Exception that is normally thrown when the Session is closed. This maintains JMS Compliance and allows us to discover the cause of the failure, SimpleACLTest was updated by removing the IllegalState catch section that was causing the test to silently fail. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@676978 13f79535-47bb-0310-9956-ffa450edef68
* QPID-984 : Applied fix from M2.1.x that adds requried synchronization around ↵Martin Ritchie2008-07-151-98/+81
| | | | | | setup and tear down of Connections. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@676973 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1079 : Based on Code Review : Remvoed AutoCreateVMBroker code from ↵Martin Ritchie2008-07-151-472/+0
| | | | | | QpidTestCase. Removed VMTestCase and all references to it, it was only used in JUnit4 testSuite wrappers. Rather than move QpidTestCase to a new module all client tests have that require this class have been moved to systests. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@676969 13f79535-47bb-0310-9956-ffa450edef68
* Removed the non ASCII characters that are causing the build to minorly complain.Martin Ritchie2008-07-152-8/+8
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@676886 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1171: batch acks when prefetch is usedRafael H. Schloming2008-07-102-4/+37
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@675433 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1062: moved channel id into the ProtocolEvent interface and removed ↵Rafael H. Schloming2008-07-101-3/+2
| | | | | | ConnectionEvent, this removes the overhead of creating ConnectionEvents git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@675397 13f79535-47bb-0310-9956-ffa450edef68
* Primarily profiling driven changes:Rafael H. Schloming2008-07-0910-75/+80
| | | | | | | | | | | | | | | | | | | | | | | - added batched writes of commands/controls issued on a session - copy fragmented frames and segments rather than trying to decode them piecemeal, removed FragmentDecoder - added caching for str8 encode/decode - compute sizes as we encode by going back and filling in the amount of bytes written rather than computing it up front - added SYNC option to commands - renamed NO_OPTION argument to NONE - added a timeout to Client.java - removed use of UUID.fromString in BasicMessageProducer_0_10.java git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@675165 13f79535-47bb-0310-9956-ffa450edef68
* QPID-293 allow messages which have been received by the consumer before a ↵Aidan Skinner2008-07-081-0/+8
| | | | | | | | | | message listener has been set to be delivered. BasicMessageConsumer.java: If there are messages on the synchronous queue when a message listener is set, deliver them to it since they can no longer be consumed(). MessageListenerTest.java: Uncomment code that will make the test fail and demonstrate the bug git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@674747 13f79535-47bb-0310-9956-ffa450edef68
* The last checkin for this class was using a Java 1.6 specific method called ↵Rajith Muditha Attapattu2008-07-071-1/+1
| | | | | | | | | | isEmpty in the String class. This fails the build in Java 1.5. I modified it to use str.length == 0 which has the same effect. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@674389 13f79535-47bb-0310-9956-ffa450edef68
* Qpid-940 - ConnectionTest#testPasswordFailureConnection fails occasionally ↵Martin Ritchie2008-07-041-24/+40
| | | | | | | | | | so while these race conditions are addressed I've converted the ConnectionTest to QpidTestCase and use it to skip the PasswordFailureConnection. junit.framework.AssertionFailedError: No cause set at org.apache.qpid.test.unit.client.connection.ConnectionTest.testPasswordFailureConnection(ConnectionTest.java:145) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@674058 13f79535-47bb-0310-9956-ffa450edef68
* QPID-962 Exception handling was... unpleasing... Fix up of patch from rhsAidan Skinner2008-07-035-57/+66
| | | | | | | | | | | | | | | | AMQConnection.java: Refactor listener and stack exceptions in a list. Add get lastException, which can now be any Exception. Don't set connected, let the delegate decide. AMQConnectionDelegate_8_0.java, AMQConnectionDelete_0_10.java: set _connected to true if we suceed AMQProtocolHandler.java: attainState can now throw any sort of Exception AMQStateManager.java: attainState can now throw any Exception ConnectionTest.java: check that exception cause is not null AMQConnectionFailureException.java: Add ability to store a Collection of Exceptions in case there are multiple possible causes of the failure. Which there shouldn't be, but it can happen. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@673688 13f79535-47bb-0310-9956-ffa450edef68
* Revert "QPID-962 Exception handling was... unpleasing... Fix up of patch ↵Aidan Skinner2008-07-024-61/+55
| | | | | | | | from rhs" This reverts commit 673343. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@673401 13f79535-47bb-0310-9956-ffa450edef68
* QPID-960 remember to rename classAidan Skinner2008-07-021-3/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@673351 13f79535-47bb-0310-9956-ffa450edef68
* QPID-960 copy delegate properlyAidan Skinner2008-07-021-0/+234
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@673350 13f79535-47bb-0310-9956-ffa450edef68
* QPID-960 make protocol negotiation work from 0-10 down to 0-9 and then 8-0Aidan Skinner2008-07-023-235/+33
| | | | | | | | | | still needs love to do with railover, see QPID-959 AMQConnection.java: use 8_0 delegate for in-vm tests AMQConnectionDelegate_0_9.java: add subclass for class.forname'ing rename AMQConnectionDelegate_0_8.java to AMQConnectionDelegate_8_0.java to match protocol version properly git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@673347 13f79535-47bb-0310-9956-ffa450edef68
* QPID-962 Exception handling was... unpleasing... Fix up of patch from rhsAidan Skinner2008-07-024-55/+61
| | | | | | | | | | | | | | AMQConnection: Refactor listener and remove list, we're only interested in the most recent one anyway. Add get/set for lastException, which can now be any Exception AMQConnectionDelegate_0_8.java: Stop masking/stackign exceptions, just throw them. AMQProtocolHandler.java: attainState can now throw any sort of Exception AMQStateManager.java: attainState can now throw any Exception ConnectionTest.java: check that exception cause is not null git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@673343 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1163: Moved message ack in pre-deliver methodArnaud Simon2008-07-012-14/+15
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@673074 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1084 : Applying patch previously applied to M2.xRobert Godfrey2008-07-011-9/+16
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@673058 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1159: remove @Override tagsAidan Skinner2008-06-301-130/+109
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@672763 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1112: Changed addDeliveredMessage so to avoid division by 0 error when ↵Arnaud Simon2008-06-261-3/+4
| | | | | | max pre-fetch=1 git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@671887 13f79535-47bb-0310-9956-ffa450edef68
* QPID-854 QPID-999 : Merge Changes to the client to make the dispatcher ↵Aidan Skinner2008-06-263-3/+231
| | | | | | responsible for closing the queue browser when all the messages have been processed. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@671845 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1112: Changed addDeliveredMessage so to avoid division by 0 error when ↵Arnaud Simon2008-06-261-1/+1
| | | | | | messages are not pre-fetched git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@671825 13f79535-47bb-0310-9956-ffa450edef68
* QPID-551 Don't take arbitrary stack lengths. I really hate that we sublist ↵Aidan Skinner2008-06-251-1/+2
| | | | | | at all, it's gross. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@671519 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1112: send completed every maxPrefetch / 2 instead of after every ↵Arnaud Simon2008-06-201-1/+1
| | | | | | messages once maxPrefetch / 2 has been reached git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@669917 13f79535-47bb-0310-9956-ffa450edef68
* QPID-950 : Broker refactoring, copied / merged from branchRobert Godfrey2008-06-193-7/+64
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@669431 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1139: use RFC1982 comparisons for rollback mark and update rollback ↵Rafael H. Schloming2008-06-164-12/+38
| | | | | | mark to track dispatched messages git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@668311 13f79535-47bb-0310-9956-ffa450edef68
* Qpid-1130: don't store unack message tags when the session is transactedArnaud Simon2008-06-101-1/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@666296 13f79535-47bb-0310-9956-ffa450edef68
* QPID-901: always reset the auto-sync mode even if the call failsRafael H. Schloming2008-06-092-9/+21
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@665841 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1126: reuse channel numbers for sessions that have closed, and honor ↵Rafael H. Schloming2008-06-071-3/+1
| | | | | | the negotiated channel-max; also removed unnecessary catches that were swallowing stack traces from several tests git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@664339 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1124 : Use thread-safe map for messageListenersRobert Godfrey2008-06-061-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@664153 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1124 : Use thread-safe map for messageListenersRobert Godfrey2008-06-061-2/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@664129 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1062: use sync flag instead of sync command on tx commitArnaud Simon2008-06-061-1/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@663874 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1062: merge writes of separate frames within an assembly, use sync flag ↵Rafael H. Schloming2008-06-062-8/+18
| | | | | | instead of sync command on message transfer git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@663813 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1116: fixed a race condition in connection/session close, session close ↵Rafael H. Schloming2008-06-054-4/+6
| | | | | | now waits for the session to be detached before returning, this guarantees we won't have any active sessions when the connection close is attempted git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@663677 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1123: Added a timeout (threading issue is still to be fixed)Arnaud Simon2008-06-051-4/+14
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@663507 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1120: don't reset batch size as part of the messages are not accepted ↵Arnaud Simon2008-06-041-1/+0
| | | | | | and then still available. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@663364 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1120: Changed addDeliveredMessage and commit so session.completed is ↵Arnaud Simon2008-06-042-15/+52
| | | | | | sent before credits dry up git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@663124 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1112: Update previous commit by re-using messageAcknowledge (added a ↵Arnaud Simon2008-06-035-46/+22
| | | | | | flag specifying whether to send an messageAccept) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@662827 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1115: Only generate client ID when necessaryArnaud Simon2008-06-033-38/+8
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@662755 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1112: Added sessionCompleted support and changed onMessage for invoking ↵Arnaud Simon2008-06-034-3/+42
| | | | | | sessionCompleted when all expected messages have been received. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@662665 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1110: use pre-acquire mode when message selector is the empty stringArnaud Simon2008-06-021-1/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@662397 13f79535-47bb-0310-9956-ffa450edef68