I tried in two places without success.: 1) In the destination policy of the broker
amq.'broker'(id: 'broker', brokerName: 'localhost', useJmx: true, persistent: false, advisorySupport='true') { amq.'managementContext' { amq.'managementContext'(connectorPort: 2011, jmxDomainName: 'embeddedBroker') } amq.'systemUsage' { amq.'systemUsage' { amq.'memoryUsage' { amq.'memoryUsage'(limit:"200 mb") } } } * amq.'destinationPolicy' {* amq.'policyMap' { amq.'policyEntries' { amq.'policyEntry'(topic: "index.mixml", memoryLimit: "100mb") amq.'policyEntry'(topic: "index.onedirectory", memoryLimit: "150mb") * amq.'policyEntry'(topic: "index.onedirectory", durableTopicPrefetch: "2") amq.'policyEntry'(topic: "index.onedirectory", topicPrefetch: "2")* } } * }* amq.'plugins' { amq.'loggingBrokerPlugin' } if (Environment.current != Environment.TEST) { amq.'transportConnectors' { amq.'transportConnector'(name: 'connector1', uri:'nio://0.0.0.0:61616') amq.'transportConnector'(name: 'connector2', uri:'vm://localhost') if (nvconnect.clustering == true && Environment.current == Environment.PRODUCTION) amq.'transportConnector'(uri: 'tcp:// 0.0.0.0:0', discoveryUri:'multicast://default?group=nvconnect') } } if (nvconnect.clustering == true && Environment.current == Environment.PRODUCTION) { amq.'networkConnectors' { amq.'networkConnector'(uri: 'multicast://default?group=nvconnect', duplex: "true", dynamicOnly: "true", prefetchSize:5) { amq.'dynamicallyIncludedDestinations'{ amq.'topic'(physicalName:'index.mixml') amq.'topic'(physicalName:'index.mixml.response') amq.'topic'(physicalName:'index.onedirectory') amq.'topic'(physicalName:'index.onedirectory.response') } } } } } 2) In the connection factory jmsConnectionFactory(org.springframework.jms.connection.SingleConnectionFactory) { bean -> bean.dependsOn = "broker" clientId = "nv-jms-connection-" + UUID.randomUUID() targetConnectionFactory = { org.apache.activemq.ActiveMQConnectionFactory cf -> brokerURL ='vm://localhost' * prefetchPolicy = ref("customPrefetchPolicy")* } } * customPrefetchPolicy(org.apache.activemq.ActiveMQPrefetchPolicy){ bean -> topicPrefetch=2 durableTopicPrefetch=2 }* "OnedirectoryIndexJmsListenerContainer"(org.springframework.jms.listener.DefaultMessageListenerContainer) { it.'abstract' = true pubSubDomain = true autoStartup = false concurrentConsumers = 1 subscriptionDurable = true * connectionFactory = ref("jmsConnectionFactory")* messageSelector = null cacheLevel = DefaultMessageListenerContainer.CACHE_SESSION durableSubscriptionName = "onedirectory.index-" + UUID.randomUUID() } On Wed, Jun 5, 2013 at 6:05 PM, Christian Posta <christian.po...@gmail.com>wrote: > yes, that's used in many places. where in the broker are you trying to tune > it? the store? > > > On Wed, Jun 5, 2013 at 9:00 AM, Jean Silga <jean.si...@net-vitesse.com > >wrote: > > > I am talking about this LRUCache: org.apache.activemq.util.LRUCache. > > > > > > On Wed, Jun 5, 2013 at 5:45 PM, Christian Posta > > <christian.po...@gmail.com>wrote: > > > > > Which LRUCache are you talking about? > > > > > > > > > > > > On Wed, Jun 5, 2013 at 8:19 AM, Jean Silga <jean.si...@net-vitesse.com > > > >wrote: > > > > > > > Hi guys > > > > > > > > We are currently using activemq for one of our project and we run > into > > > some > > > > out of memory trouble lately. Our application performs some caching > > every > > > > two hours: It reads the information to cache, encapsulates it in an > > > > ActiveMQObjectMessage object, sends the ActiveMQObjectMessage object > > to a > > > > topic so that the consumer can receive it and perform the caching. > The > > > > problem is that the LRUCache is keeping up to 100 messages in its > > cache > > > > (maxCacheSize=100), and this is causing an out of memory error > because > > > each > > > > message is quite big (10 MB of size). I tried to solve the issue by > > using > > > > the PrefetchPolicy feature, but that does not seem to have and impact > > on > > > > how much messages are kept in LRUCache. Is it possible to specify the > > > > amount of messages kept in the LRUCache? How ? > > > > > > > > Here are the versions of the plugins/frameworks I am using: > > > > Activemq 5.4.0 > > > > JMS 0.5.1 > > > > xbean-spring 3.6 > > > > Grails 1.3.6 > > > > Java 1.6 > > > > I am using topics and non-persistent messaging. > > > > > > > > Thank you very much > > > > > > > > -- > > > > > > > > > > > > *Jean Silga * > > > > Software Engineer at Netvitesse > > > > +33 (0) 9 72 22 44 10 > > > > > > > > > > > > > > > > -- > > > *Christian Posta* > > > http://www.christianposta.com/blog > > > twitter: @christianposta > > > > > > > > > > > -- > > > > > > *Jean Silga * > > Software Engineer at Netvitesse > > +33 (0) 9 72 22 44 10 > > > > > > -- > *Christian Posta* > http://www.christianposta.com/blog > twitter: @christianposta > -- *Jean Silga * Software Engineer at Netvitesse +33 (0) 9 72 22 44 10