[ 
https://issues.apache.org/jira/browse/QPID-2632?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Kennedy updated QPID-2632:
---------------------------------

    Attachment: 0001-QPID-2632-Remove-references-to-ApplicationRegistry.patch

Changed so that tests extend QpidTestCase, as no broker required. Also fixed 
references to exchange name.

> Remove NullApplicationRegistry and promote InternalBrokerBaseCase for broker 
> testing
> ------------------------------------------------------------------------------------
>
>                 Key: QPID-2632
>                 URL: https://issues.apache.org/jira/browse/QPID-2632
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Tests
>            Reporter: Martin Ritchie
>            Assignee: Martin Ritchie
>         Attachments: 
> 0001-QPID-2632-Remove-references-to-ApplicationRegistry.patch
>
>
> Current testing is often plagued with random OOM or ApplicationRegistry 
> shutdowns at the end of the full ant test cycle.
> Removing the old NullApplicationRegistry(NAR) that was a legacy Mock object 
> will help us prevent such rouge application registries hanging around and 
> consuming memory.
> This will require a fair few changes to existing tests that assume there will 
> be a running ApplicationRegistry. However, in most cases it will simply be a 
> change from using TestCase to InternalBrokerBaseCase(IBBC). 
> The main problem with the NAR is that it sets most of the broker components 
> to Null ... hence the name. However, with the scale of changes to the Java 
> broker over the last 12 months the use of ApplicationRegistry.getInstance() 
> as started appearting thoroughout the main broker code base and assumptions 
> have been made that the returned instance will be fully configured. So no 
> Null checks are performed.
> Removing the NAR will not be major issue as it will actually clean up the 
> code base as a number of test relied on to start the broker and then 
> performed some configuration themselves. Now they can rely on IBBC to do the 
> heavy lifting and override the configure() method if they need to make 
> specifc changes to the way the broker runs. AMQQueueAlertTest is one such 
> example. This test requires an increase in the Alerting period. This was 
> historically tucked in to NAR so ALL test would run this thread every 200ms. 
> Which in turn resulted in OOME issues during full tests runs. The solution at 
> the time was to exclude the extra logging via log4j.
> Now we can hae the AMQQAT simply up the alerting rate for its own purposes.
> The use of IBBC will also allow a level of test somewhere between pure unit 
> tests and test that use a client in systests. Tests that require a configured 
> broker but really don't want to have to connect a client to exercise the 
> broker and rely on the client code returning the right exceptions. 
> Hopefully will find some time to more fully document how we can leaverage the 
> IBBC to create and integrogate components of the broker during a test.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to