Camel KratiConsumer throw OutOfMemory like this:
Consumer Consumer[krati://notifications?operation=CamelKratiDelete] failed
polling endpoint:
Endpoint[krati://notifications?operation=CamelKratiDelete]. Will try again
at next poll. Caused by: [java.lang.OutOfMemoryError - Java heap space]
java.lang.OutOfMemoryError: Java heap space
        at java.util.ArrayList.<init>(ArrayList.java:112)
        at
krati.store.DefaultDataStoreHandler.extractKeys(DefaultDataStoreHandler.java:226)
        at 
krati.store.DataStoreKeyIterator.findNext(DataStoreKeyIterator.java:82)
        at 
krati.store.DataStoreKeyIterator.hasNext(DataStoreKeyIterator.java:52)
        at
krati.store.ObjectStoreKeyIterator.hasNext(ObjectStoreKeyIterator.java:43)
        at
org.apache.camel.component.krati.KratiConsumer.poll(KratiConsumer.java:58)

I think the problem is KratiConsumer.poll():
Iterator keyIterator = dataStore.keyIterator();
        while (keyIterator.hasNext()) {* //It's no limit, so use many
memory*
            Object key = keyIterator.next();
            Object value = dataStore.get(key);
            Exchange exchange = endpoint.createExchange();
            exchange.setProperty(KratiConstants.KEY, key);
            exchange.getIn().setBody(value);
            queue.add(exchange);
        }
        return queue.isEmpty() ? 0 : processBatch(CastUtils.cast(queue));


        



--
View this message in context: 
http://camel.465427.n5.nabble.com/Camel-KratiConsumer-throw-OutOfMemory-tp5732669.html
Sent from the Camel Development mailing list archive at Nabble.com.

Reply via email to