xmlBlaster 2.2.0 API

org.xmlBlaster.test.classtest.queue
Class CacheQueueTest

java.lang.Object
  extended by junit.framework.Assert
      extended by junit.framework.TestCase
          extended by org.xmlBlaster.test.classtest.queue.CacheQueueTest
All Implemented Interfaces:
junit.framework.Test

public class CacheQueueTest
extends junit.framework.TestCase

Test CacheQueueInterceptorPlugin.

The sorting order is priority,timestamp:

   ->    5,100 - 5,98 - 5,50 - 9,3000 - 9,2500   ->
 

As 9 is highest priority it is the first to be taken out.
As we need to maintain the timely sequence and id is a timestamp in (more or less) nano seconds elapsed since 1970) the id 2500 (it is older) has precedence to the id 3000

Invoke: java -Djava.compiler= junit.textui.TestRunner org.xmlBlaster.test.classtest.queue.CacheQueueTest

Configuration example:

 JdbcDriver.drivers=org.postgresql.Driver
 JdbcDriver.postgresql.mapping=string=text,longint=bigint,int=integer,boolean=boolean
 queue.callback.url=jdbc:postgresql://localhost/test
 queue.callback.user=postgres
 queue.callback.password=
 

Test database with PostgreSQL:

 initdb /tmp/postgres
 cp /var/lib/pgsql/data/pg_hba.conf /tmp/postgres    (edit host access)
 createdb test
 postmaster -i -D /tmp/postgres
 

See Also:
MsgQueueEntry.compare(I_QueueEntry), I_Queue, RamQueuePlugin, org.xmlBlaster.util.queue.jdbc.JdbcQueuePlugin

Field Summary
protected  Global glob
           
private static java.util.logging.Logger log
           
private  java.lang.String ME
           
private  CacheQueueInterceptorPlugin queue
           
private  I_Queue[] queues
           
 
Constructor Summary
CacheQueueTest(Global glob, java.lang.String name)
           
CacheQueueTest(java.lang.String name)
           
 
Method Summary
 void availability()
          when queue available: -fill queue with 3 persistent and 2 transient messages -> RAM:5 JDBC:3 - queue is made unavailable - queue is filled with 2 persistent and 3 transient msg -> RAM:10 JDBC:3 (since no comm) - peek and then remove all available entries: -> RAM:0 JDBC:3 (since no comm)
 StorageId config(long maxEntries, long maxEntriesCache, long maxBytes, long maxBytesCache)
           
static void main(java.lang.String[] args)
           java org.xmlBlaster.test.classtest.queue.CacheQueueTest
 void putPeekRemove(I_Queue refQueue)
           
protected  void setUp()
           
 void tearDown()
           
 void testAvailability()
           
 void testClearWithSwappedEntries()
           
 void testConfig()
           
 void testPutPeekRemove()
           
 
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString
 
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ME

private java.lang.String ME

glob

protected Global glob

log

private static java.util.logging.Logger log

queue

private CacheQueueInterceptorPlugin queue

queues

private I_Queue[] queues
Constructor Detail

CacheQueueTest

public CacheQueueTest(java.lang.String name)

CacheQueueTest

public CacheQueueTest(Global glob,
                      java.lang.String name)
Method Detail

setUp

protected void setUp()
Overrides:
setUp in class junit.framework.TestCase

tearDown

public void tearDown()
Overrides:
tearDown in class junit.framework.TestCase

testConfig

public void testConfig()

config

public StorageId config(long maxEntries,
                        long maxEntriesCache,
                        long maxBytes,
                        long maxBytesCache)
                 throws XmlBlasterException
Throws:
XmlBlasterException

testClearWithSwappedEntries

public void testClearWithSwappedEntries()

testPutPeekRemove

public void testPutPeekRemove()

putPeekRemove

public void putPeekRemove(I_Queue refQueue)
                   throws XmlBlasterException
Throws:
XmlBlasterException

testAvailability

public void testAvailability()

availability

public void availability()
                  throws XmlBlasterException
when queue available: -fill queue with 3 persistent and 2 transient messages -> RAM:5 JDBC:3 - queue is made unavailable - queue is filled with 2 persistent and 3 transient msg -> RAM:10 JDBC:3 (since no comm) - peek and then remove all available entries: -> RAM:0 JDBC:3 (since no comm)

Throws:
XmlBlasterException

main

public static void main(java.lang.String[] args)
  java org.xmlBlaster.test.classtest.queue.CacheQueueTest
 


xmlBlaster 2.2.0 API

Copyright © 1999-2014 The xmlBlaster.org contributers.