I am trying to do some testing an limit the output from a queue that has
about 4500 messages in it. Each message contains between 300 and 500
documents attached that i process individually. But I am trying to test
only specific message types and not see the others so I restart the client
each cycle with different selector header values. I only have the one
client (stomp) running at any time (besides the admin web app)... all
connections are with ack: client-individual

The problem I see is that the selector works fine if the 'top' of the queue
contains messages that match the selector, but I see nothing if the
selector matches messages deep in the queue. The client just waits forever
... it seems to me that the server is waiting for acks but since the
selector hides the initial messages from the client, there's nothing for it
to ack.

There are no producers active... I restore the kahadb each time I need to
replenish the queue

I have DEBUG log4j settings for activemq packages but the logs only log
checkpoints and expiry scans


I would expect that the selector would cause the server to browser down the
queue for message it can dequeue. But does not appear to be happening


broker config:
 <broker xmlns="http://activemq.apache.org/schema/core";
brokerName="localhost" dataDirectory="${activemq.data}">


        <destinationPolicy>
            <policyMap>
              <policyEntries>
                <policyEntry topic=">" producerFlowControl="true">

                  <pendingMessageLimitStrategy>
                    <constantPendingMessageLimitStrategy limit="1000"/>
                  </pendingMessageLimitStrategy>
                </policyEntry>
                <policyEntry queue=">" producerFlowControl="true"
memoryLimit="1mb">

                </policyEntry>
              </policyEntries>
            </policyMap>
        </destinationPolicy>



        <managementContext>
            <managementContext createConnector="false"/>
        </managementContext>


        <persistenceAdapter>
            <kahaDB directory="${activemq.data}/kahadb"/>
        </persistenceAdapter>



          <systemUsage>
            <systemUsage>
                <memoryUsage>
                    <memoryUsage limit="64 mb"/>
                </memoryUsage>
                <storeUsage>
                    <storeUsage limit="100 gb"/>
                </storeUsage>
                <tempUsage>
                    <tempUsage limit="50 gb"/>
                </tempUsage>
            </systemUsage>
        </systemUsage>


        <transportConnectors>

        <transportConnector name="openwire"
uri="tcp://host:61616?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
        <transportConnector name="amqp"
uri="amqp://host:5672?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
        <transportConnector name="stomp" uri="stomp://host:61613"/>
        </transportConnectors>


        <shutdownHooks>
            <bean xmlns="http://www.springframework.org/schema/beans";
class="org.apache.activemq.hooks.SpringContextHook" />
        </shutdownHooks>

    </broker>

-- 
Jon Gorrono
PGP Key: 0x5434509D - http{
pgp.mit.edu:11371/pks/lookup?search=0x5434509D&op=index}
http{middleware.ucdavis.edu}

Reply via email to