summaryrefslogtreecommitdiff
path: root/java/broker/src
Commit message (Collapse)AuthorAgeFilesLines
* made a copyRobert Godfrey2007-03-2246-513/+923
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/java.multi_version@521253 13f79535-47bb-0310-9956-ffa450edef68
* QPID-346 Message loss after rollbackMartin Ritchie2007-02-2317-502/+944
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QPID-348 Problems of prefetching messages QPID-355 Closing a consumer does not ensure messages delivery will stop for that subscription BROKER AMQChannel - updated requeue to either resend via the Delivery Manager not directly via msg.writedeliver. BasicRejectMethodHandler - initial place holder. TxRollbackHandler - Added comment AMQMessage - added ability to record who has taken the message so that it can be resent to that subscriber on resend/requeue. AMQQueue - added the queue reference to the Subscription creation ConcurrentSelectorDeliveryManager - Added methods to correctly monitor the size of queue messages. Including messages on the resend queue of a Subscriber. Additional locking to ensure that messages are not sent to the subscriber after Closure. QPID-355 DeliveryManager - adjusted deliver call to allow delivery to the head of the queue. Subscription - changes to allow selction of queue(resend or predelivery) methods to add to resend and getSendLock to ensure that sending to the Subscription is allowed. SubscriptionFactory - changes to allow the AMQQueue to be passed to the Subscription. SubscriptionImpl - implementation of the interfaces. Local storage of messages to be resent and requeuing of the messages during closure. SubscriptionSet - changes to retrieve the actual stored Subscription when performing removeSubscriber. So we have access to the the resend queue. AMQStateManager - Added BasicRejectMethodHandler TransactionalContext - Added option to deliver the messages to the front of the queue. LocalTransactionalContext - cleared the _postComitDeliveryList on rollback. Added option to deliver the messages to the front of the queue. NonTransactionalContext - Added option to deliver the messages to the front of the queue. DeliverMessageOperation.java DELELTED AS NOT USED. CLIENT AMQSession - added ability to get the pervious state of the dispatcher when settting Stopped, fixed the channel suspension problems on broker so uncommented clean up code in rollback and recover. BasicMessageConsumer - updated the rollback so that it sends reject messages to server. AbstractJMSMessage - whitespace + added extra message properties to the toString() AMQProtocolHandler - whitespace + extra debug output TransactedTest - updated expect to prevent NPEs also added extra logging to help understand what is going on. CLUSTER ClusteredQueue - AMQQueue changes for message deliveryFirst. RemoteSubscriptionImpl - Implementation of Subscription SYSTESTS AbstractHeadersExchangeTestBase - AMQQueue changes for message deliveryFirst. AMQQueueMBeanTest - changes for message deliveryFirst. ConcurrencyTest - changes for message deliveryFirst. DeliveryManagerTest - changes for message deliveryFirst. SubscriptionTestHelper - Implementation of Subscription WhiteSpace only UnacknowledgedMessageMapImpl.java git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@510897 13f79535-47bb-0310-9956-ffa450edef68
* QPID-348 Reverted unecessary nowait addition to amqp Basic.Recover spec.Martin Ritchie2007-02-211-7/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@510076 13f79535-47bb-0310-9956-ffa450edef68
* QPID-348 Problems related to prefetching of messages Martin Ritchie2007-02-211-2/+11
| | | | | | | | | | | | | | | | | | Client caches are now cleared. Partially commented out code in AMQSession and BasicMessageConsumer pending broker fixes to ensure channel suspension is respected. Tests fail otherwise. Tests pass just now as they are not correct, JIRA raised for fix (QPID-386). Spec Changes Added recover-ok method to recover. But to maintain compatibility added a nowait bit to request the response. Java Changes AMQConnection added wrapping of AMQExceptions that can be thrown by the waiting suspend calls. AMQSession Added clean up code for rollback/recover to clean up Session._queue and BMC._syncQueue BasicMessageConsumer - added rollback method to clean up _syncQueue ChannelCloseMethodHandler - reduced logging level from error to debug for received methods. FlowControllingBlockingQueue - added code to return iterator so messages can be purged cleanly. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@510060 13f79535-47bb-0310-9956-ffa450edef68
* QPID-325 : Persist durable exchange information in the storeRobert Godfrey2007-02-2028-204/+419
| | | | | | QPID-318 : Remove hardcoding of version numbers (as applies to store) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@509628 13f79535-47bb-0310-9956-ffa450edef68
* Intelj renamed AMQInvalidArgumentException in the generated code not the ↵Martin Ritchie2007-02-201-3/+3
| | | | | | grammar file. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@509479 13f79535-47bb-0310-9956-ffa450edef68
* Renamed AMQInvalidSelectorException to be AMQInvalidArgumentException to ↵Martin Ritchie2007-02-201-5/+2
| | | | | | better fit the generic use of the argument table in the AMQP Queue.Bind spec. Adjusted AMQConstant to match the proposal for additional codes AMQP-39,40,41 (https://wiki.108.redhat.com/jira/browse/AMQP-39). git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@509478 13f79535-47bb-0310-9956-ffa450edef68
* QPID-372, QPID-376 Broker now ignores all frames for closing channels. Martin Ritchie2007-02-192-10/+93
| | | | | | | | | | | | | | | | | | | When a close-ok is received the channel can be reopened and used All uses of getChannel check the return type is not null and throw a NOT_FOUND AMQException. If the channel is not found during a method handler then the Channel will be closed. ChannelCloseHandler - Now throws a connection exception if trying to close a a non exisitant channel. AMQMinaProtocolSession - Added pre-check for closing channels to ignore all but Close-OK methods - Updated ChannelException method to close connection if the CE was a result of not having a valid channel. - Changed state to CLOSING when writing out a connection close frame. AMQConnection - Wrapped all _logging calls , Updated comment formatting AMQSession - called startDispatcherIfRequired when receiving a message as without it a producer will not get a returned message. This is because there is no consumer setup to consume. ConnectionCloseMethodHandler - Wrapped code in try finally so that the protocol session would always be closed correctly. AMQStateManager - Added state to the logging values Modified AMQTimeoutException to include a new constant value to identify the failure reason. AMQConstant - Added 408 REQUEST_TIMEOUT fixed error with NOT_ALLOWED value was 530 should be 507. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@509172 13f79535-47bb-0310-9956-ffa450edef68
* QPID-375 : Default Exchange fixesRobert Godfrey2007-02-191-2/+8
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@509147 13f79535-47bb-0310-9956-ffa450edef68
* QPID-375 : remove assumptions on standard exchanges (amq.direct, amq.topic, ↵Robert Godfrey2007-02-181-8/+1
| | | | | | etc), allow other exchanges to be created through virtualhosts.xml git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@508942 13f79535-47bb-0310-9956-ffa450edef68
* QPID-375 : remove assumptions on standard exchanges (amq.direct, amq.topic, ↵Robert Godfrey2007-02-165-11/+55
| | | | | | etc), allow other exchanges to be created through virtualhosts.xml git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@508649 13f79535-47bb-0310-9956-ffa450edef68
* QPID-376 - Updated All Handlers to throw channel exception when channel is null.Martin Ritchie2007-02-161-4/+4
| | | | | | | | Updated QueueBindHandler. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@508416 13f79535-47bb-0310-9956-ffa450edef68
* QPID-11 remove protocol literals from code. Martin Ritchie2007-02-161-2/+2
| | | | | | Sorry Missed NoRouteException.java git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@508385 13f79535-47bb-0310-9956-ffa450edef68
* QPID-11 remove protocol literals from code. Martin Ritchie2007-02-1623-92/+193
| | | | | | | | | | | | | | | | | | | | | QPID-376 use of getChannel() does not correct handle error cases when null is returned. Updated AMQMethodBody - to have a convenience method getChannelNotFoundException to be used for QPID-376 when channel is null. This allows the replyCode NOT_FOUND=404 to be changed to changed easily if required. QPID-376 - Updated All Handlers to throw channel exception when channel is null. QPID-11 Updated all handlers to use AMQConstant values rather than hardcoded literals. - Updated AMQException to use AMQConstant values rather than int to ensure that no more literal values creep back in to the code base. Replaced all usages of int above framing to store replycode with AMQConstant to prevent creep. Had to create new constants for literals used in code base but not yet part of spec. 405=Already Exists 406=In Use 323=Invalid Routing Key Remove non spec constant 500=Unknown_Exchange_Name replaced with generic NOT_FOUND git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@508381 13f79535-47bb-0310-9956-ffa450edef68
* QPID-372 Broker doesn't wait for ChannelClose-Ok.Martin Ritchie2007-02-164-98/+134
| | | | | | Updated AMQProtocolSession to have new methods to query and release a channel from the awaiting close-ok state. Once a channel has been signalled to be closed any further methods on that channel are ignored until a close-ok is sent. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@508366 13f79535-47bb-0310-9956-ffa450edef68
* BasicConsumeMethodHandler - tidied up local channel/connection close frame ↵Martin Ritchie2007-02-161-32/+17
| | | | | | writes by using the body.get[Channel|Connection]Exception() to throw a new exception to write out the frames. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@508351 13f79535-47bb-0310-9956-ffa450edef68
* QPID-366 : Reference counting not being decremented correctly and other ↵Robert Godfrey2007-02-1513-63/+136
| | | | | | persistence issues git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@508235 13f79535-47bb-0310-9956-ffa450edef68
* Applied QPID-162 patches from Kevin SmithMartin Ritchie2007-02-14127-780/+761
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@507595 13f79535-47bb-0310-9956-ffa450edef68
* Applied QPID-6 SSL Options patch from Kevin SmithMartin Ritchie2007-02-143-36/+48
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@507584 13f79535-47bb-0310-9956-ffa450edef68
* QPID-367 Bhupendra Bhusman Bhardwaj2007-02-141-6/+7
| | | | | | added @Configured annotation to the maximumMessageSize attribute git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@507583 13f79535-47bb-0310-9956-ffa450edef68
* Fix for null virtual host (which got converted to the invalid string 'null').Gordon Sim2007-02-121-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@506405 13f79535-47bb-0310-9956-ffa450edef68
* QPID-170Bhupendra Bhusman Bhardwaj2007-02-094-77/+177
| | | | | | | predelivery queues will also be cleared with moved messages. Messages will be moved to another queue and predelivery queues of subsribers of another queue will also be populated. the features - removeMmessageFromTop and clearQueue is also modified by using the getNextMessage git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@505268 13f79535-47bb-0310-9956-ffa450edef68
* QPID-357 : Add support for a "default" virtual hostRobert Greig2007-02-093-1/+25
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@505242 13f79535-47bb-0310-9956-ffa450edef68
* QPID-170Bhupendra Bhusman Bhardwaj2007-02-075-3/+108
| | | | | | Management feature added - moving messages from one Queue to another git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@504507 13f79535-47bb-0310-9956-ffa450edef68
* QPID-326Bhupendra Bhusman Bhardwaj2007-02-055-19/+53
| | | | | | AMQQueueMBean updated with attribute MaximumMessageAge git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@503790 13f79535-47bb-0310-9956-ffa450edef68
* QPID-326 : Patch supplied by Rob Godfrey - add oldest message on queue ↵Robert Greig2007-02-0514-164/+412
| | | | | | notification, and log notifications in log file git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@503604 13f79535-47bb-0310-9956-ffa450edef68
* QPID-331Bhupendra Bhusman Bhardwaj2007-02-011-1/+6
| | | | | | and setting operation parameters to default values after executing the operation once. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@502180 13f79535-47bb-0310-9956-ffa450edef68
* QPID-334 WeakReferenceMessageHandle uses a singleton so when body is purged ↵Martin Ritchie2007-01-311-8/+7
| | | | | | | | by gc it cannot be reset Changed to use an Arraylist of size 1 as per JIRA entry. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@501914 13f79535-47bb-0310-9956-ffa450edef68
* fixed the null pointer, which occurs when there are no messages in the queueBhupendra Bhusman Bhardwaj2007-01-301-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@501412 13f79535-47bb-0310-9956-ffa450edef68
* QPID-327 : Patch supplied by Rob Godfrey - [race condition] PoolingFilter : ↵Robert Greig2007-01-292-1/+21
| | | | | | Possible race condition when completing a Job git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@501096 13f79535-47bb-0310-9956-ffa450edef68
* QPID-322 : Patch supplied by Rob Godfrey - Message reference count not being ↵Robert Greig2007-01-291-0/+1
| | | | | | incremented when message added to UnacknowledgeMap git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@501010 13f79535-47bb-0310-9956-ffa450edef68
* QPID-320 : Patch supplied by Rob Godfrey - Improve performance by ↵Robert Greig2007-01-2917-147/+220
| | | | | | remembering protocol version git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@501003 13f79535-47bb-0310-9956-ffa450edef68
* QPID-319 Bhupendra Bhusman Bhardwaj2007-01-255-27/+41
| | | | | | management console view updated for virtual host hierarchy git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@499874 13f79535-47bb-0310-9956-ffa450edef68
* QPID-318 : Patch supplied by Rob Godfrey - remove hard-coding of protocol valuesRobert Greig2007-01-253-21/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@499851 13f79535-47bb-0310-9956-ffa450edef68
* QPID-318 : Patch supplied by Rob Godfrey - Remove hard-coding of protocol ↵Robert Greig2007-01-254-13/+23
| | | | | | version number. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@499628 13f79535-47bb-0310-9956-ffa450edef68
* QPID-317 : Patch supplied by Rob Godfrey - Remove dependency on JMS from ↵Robert Greig2007-01-2418-450/+65
| | | | | | common / broker. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@499563 13f79535-47bb-0310-9956-ffa450edef68
* QPID-50 : Patch supplied by Rob Godfrey - Virtual Host implementationRobert Greig2007-01-242-6/+7
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@499493 13f79535-47bb-0310-9956-ffa450edef68
* QPID-50 : Patch supplied by Rob Godfrey - Virtual Host implementationRobert Greig2007-01-241-1/+10
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@499490 13f79535-47bb-0310-9956-ffa450edef68
* QPID-50 : Patch supplied by Rob Godfrey - Virtual Host implementationRobert Greig2007-01-241-0/+16
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@499466 13f79535-47bb-0310-9956-ffa450edef68
* QPID-50 : Patch supplied by Rob Godfrey - Virtual Host implementationRobert Greig2007-01-2459-423/+911
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@499446 13f79535-47bb-0310-9956-ffa450edef68
* QPID-314 : Patch supplied by Rob Godfrey - treat non-durable exclusive ↵Robert Greig2007-01-231-1/+1
| | | | | | queues as auto-delete git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@499041 13f79535-47bb-0310-9956-ffa450edef68
* modified the mbean and mbean test for any failure in creating ↵Bhupendra Bhusman Bhardwaj2007-01-221-1/+1
| | | | | | TabularData(for channels) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@498670 13f79535-47bb-0310-9956-ffa450edef68
* QPID-275 : Patch supplied by Rob Godfrey - Add support for get / purge / qos ↵Robert Greig2007-01-222-0/+158
| | | | | | size / default exchanges and some other small fixes highlighted by the python tests git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@498574 13f79535-47bb-0310-9956-ffa450edef68
* QPID-275 : Patch supplied by Rob Godfrey - Add support for get / purge / qos ↵Robert Greig2007-01-1927-783/+552
| | | | | | size / default exchanges and some other small fixes highlighted by the python tests git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@497770 13f79535-47bb-0310-9956-ffa450edef68
* QPID-299 Messages not being correctly requeued when transacted session closedRobert Greig2007-01-161-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@496658 13f79535-47bb-0310-9956-ffa450edef68
* QPID-295Bhupendra Bhusman Bhardwaj2007-01-151-11/+23
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@496384 13f79535-47bb-0310-9956-ffa450edef68
* Created common AMQMethodListener class, allowing the Request and Response ↵Kim van der Riet2007-01-123-72/+28
| | | | | | managers to use a common interface to dispatch events to both the client and servers. Refactoring of bothe the client and broker AMQStateManagers and AMQProtocolSession classes was performed. The refactoring has run aground in the clustering, however, and this still needs to be resolved. As the cluster tests are currently disabled (by whom, I'm not sure), this does not disrupt the overall test result. JIRAs will be opened for this issue. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@495754 13f79535-47bb-0310-9956-ffa450edef68
* QPID-32 : Persistence OptimisationRobert Greig2007-01-121-0/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@495595 13f79535-47bb-0310-9956-ffa450edef68
* QPID-276Martin Ritchie2007-01-124-12/+29
| | | | | | Update to AMQChannel to remove race condition over UnacknowledgedMessageMap git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@495460 13f79535-47bb-0310-9956-ffa450edef68
* QPID-146 QPID-112 QPID-278Martin Ritchie2007-01-121-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary Reworked a lot of the distribution work done by the build system. This ended up with me creating a reduced client distribution (hope that is ok Steve) Each module now has has a distribution directory (except common it may need a tests build later) This will build the individual components in to a distribution binary only, binary with tests and source. To build the binary with tests in the distribution directory use profile tests so $mvn -Ptests In all cases the dependencies have been reduced and correctly assigned to the correct scope. There were a couple of cases where a runtime dependency of one of our dependencies didn't make it in to the distributions so they were added explicitly. This should be looked at again. Specifics Broker: Three new assembly files are located in the distribution/src directory (broker-bin taking heavily from distribution - bin) these generate the three distributions. SimpleFilterManager.java removed slf4j reference broker/test directory removed as it was left over from the ant system Client: Added intelij files to ignore list. client/dist deleted as it was left over from the ant system client/distribution as for the broker three assemblies matching the three distributions Renamed log4j.properties to client.log4j to prevent issues when it is packaged into the jar. Removed old_test ping and requestreply1 as they have been moved to perftests Moved broker back to a test dependency. This required modifying AMQSession.java to remove reference to ExchangeBoundHandler.java Common: Added more common dependencies from broker and client here. Distribution: Reduced the assemblies to only build the full project binary, binary with tests and source. Perftests: Added building of perftests distribution so this can be bundled separately. Resources: Moved Resources from distribution project to root level this allows them to be easily incorporated in all projects. Systests: as with perftests now builds a separate distribution that can be used on an existing installation. renamed log4j.properties to systests.log4j to prevent logging problems. As systests is a module having the code under the test folder isn't accurate as it is the main code. Test code here should be testing the tests :D !! git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@495455 13f79535-47bb-0310-9956-ffa450edef68