oh, 2 locked because there were two MDBs consuming from the queue... looks like now it's working
:-) [] Leo On Fri, Aug 2, 2013 at 9:33 AM, Leonardo K. Shikida <[email protected]> wrote: > with prefetch = 1, it seems to work > > now I need to know why prefetch can't be 0 :-) > > because this way, It will always have 2 messages locked, one being > consumed and another one prefetched :-) > > TIA > > Leo > > > On Fri, Aug 2, 2013 at 9:17 AM, Romain Manni-Bucau > <[email protected]> wrote: >> hehe, >> >> that's more an activemq question but prefetch size shouldn't be set to 0 >> IMO. >> >> *Romain Manni-Bucau* >> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>* >> *Blog: >> **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/> >> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau* >> *Github: https://github.com/rmannibucau* >> >> >> >> 2013/8/2 Leonardo K. Shikida <[email protected]> >> >>> [1] >>> <Resource id="Default JMS Resource Adapter" >>> type="ActiveMQResourceAdapter"> >>> BrokerXmlConfig = >>> broker:(tcp://localhost:61616)?persistent=true&AllPrefetchValues=0 >>> ServerUrl = tcp://localhost:61616 >>> DataSource = MyJmsDataSource >>> </Resource> >>> >>> gives >>> >>> Caused by: java.lang.IllegalArgumentException: There are 1 Broker >>> options that couldn't be set on the BrokerService. Check the options >>> are spelled correctly. Unknown parameters=[{AllPrefetchValues=0}]. >>> This BrokerService cannot be started. >>> >>> [2] >>> >>> <Resource id="Default JMS Resource Adapter" >>> type="ActiveMQResourceAdapter"> >>> BrokerXmlConfig = >>> broker:(tcp://localhost:61616)?persistent=true >>> ServerUrl = tcp://localhost:61616 >>> DataSource = MyJmsDataSource >>> AllPrefetchValues = 0 >>> </Resource> >>> >>> ah, that's it >>> >>> :-) >>> >>> but now my MDB does not consume any message anymore. >>> >>> this is frustrating >>> >>> all I want is to use a single persistent queue with 2 consumers. One >>> is an MDB and another is a consumer with a selector to remove a >>> specific message by ID. >>> >>> why they can't be friends? >>> >>> :-) >>> >>> [] >>> >>> Leo >>> >>> >>> On Fri, Aug 2, 2013 at 8:45 AM, Romain Manni-Bucau >>> <[email protected]> wrote: >>> > Hmm, i don't find back how to use this one :s >>> > >>> > >>> > btw you can set AllPrefetchValues (see >>> > http://activemq.apache.org/resource-adapter-properties.html ) >>> > >>> > *Romain Manni-Bucau* >>> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>* >>> > *Blog: **http://rmannibucau.wordpress.com/*< >>> http://rmannibucau.wordpress.com/> >>> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau* >>> > *Github: https://github.com/rmannibucau* >>> > >>> > >>> > >>> > 2013/8/2 Leonardo K. Shikida <[email protected]> >>> > >>> >> <Resource id="Default JMS Resource Adapter" >>> type="ActiveMQResourceAdapter"> >>> >> BrokerXmlConfig = >>> >> >>> broker:(tcp://localhost:61616)?persistent=true&jms.prefetchPolicy.all=0 >>> >> ServerUrl = tcp://localhost:61616 >>> >> DataSource = MyJmsDataSource >>> >> maximumRedeliveries = -1 >>> >> </Resource> >>> >> >>> >> gives me >>> >> >>> >> Caused by: java.lang.IllegalArgumentException: There are 1 Broker >>> >> options that couldn't be set on the BrokerService. Check the options >>> >> are spelled correctly. Unknown >>> >> parameters=[{jms.prefetchPolicy.all=0}]. This BrokerService cannot be >>> >> started. >>> >> at >>> >> >>> org.apache.activemq.broker.DefaultBrokerFactory.createBroker(DefaultBrokerFactory.java:49) >>> >> at >>> >> >>> org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:71) >>> >> at >>> >> >>> org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:54) >>> >> at >>> >> >>> org.apache.openejb.resource.activemq.ActiveMQ5Factory.createBroker(ActiveMQ5Factory.java:62) >>> >> ... 26 more >>> >> >>> >> [] >>> >> >>> >> Leo >>> >> >>> >> >>> >> On Fri, Aug 2, 2013 at 7:54 AM, Leonardo K. Shikida <[email protected]> >>> >> wrote: >>> >> > Just like tha example i've sent in the previous email? >>> >> > >>> >> > Em 02/08/2013 07:25, "Romain Manni-Bucau" <[email protected]> >>> >> escreveu: >>> >> > >>> >> >> Hi, >>> >> >> >>> >> >> directly in broker url i think, application.properties doesn't handle >>> >> this >>> >> >> one >>> >> >> >>> >> >> *Romain Manni-Bucau* >>> >> >> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>* >>> >> >> *Blog: >>> >> >> **http://rmannibucau.wordpress.com/*< >>> http://rmannibucau.wordpress.com/> >>> >> >> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau* >>> >> >> *Github: https://github.com/rmannibucau* >>> >> >> >>> >> >> >>> >> >> >>> >> >> 2013/8/2 Leonardo K. Shikida <[email protected]> >>> >> >> >>> >> >> > Hi Romain >>> >> >> > >>> >> >> > sorry for may ignorance, but the jms.prefetchPolicy.all=0 goes like >>> >> >> > this? >>> >> >> > >>> >> >> > <Resource id="Default JMS Resource Adapter" >>> >> >> > type="ActiveMQResourceAdapter"> >>> >> >> > BrokerXmlConfig = >>> >> >> > >>> >> broker:(tcp://localhost:61616)?persistent=true&jms.prefetchPolicy.all=0 >>> >> >> > ServerUrl = tcp://localhost:61616 >>> >> >> > DataSource = MyJmsDataSource >>> >> >> > maximumRedeliveries = -1 >>> >> >> > </Resource> >>> >> >> > >>> >> >> > or is it defined at application.properties like >>> >> >> > >>> >> >> > jms.prefetchPolicy.all=0 >>> >> >> > >>> >> >> > ? >>> >> >> > >>> >> >> > [] >>> >> >> > >>> >> >> > Leo >>> >> >> > >>> >> >> > >>> >> >> > On Fri, Aug 2, 2013 at 2:05 AM, Romain Manni-Bucau >>> >> >> > <[email protected]> wrote: >>> >> >> > > Hi >>> >> >> > > >>> >> >> > > Did you try >>> >> >> > http://activemq.apache.org/what-is-the-prefetch-limit-for.html ? >>> >> >> > > Le 2 août 2013 06:32, "Leonardo K. Shikida" <[email protected]> >>> a >>> >> >> > > écrit >>> >> >> > : >>> >> >> > > >>> >> >> > >> Hi >>> >> >> > >> >>> >> >> > >> page >>> http://tomee.apache.org/jms-resources-and-mdb-container.html >>> >> >> > >> >>> >> >> > >> seems to be inaccurate >>> >> >> > >> >>> >> >> > >> it says >>> >> >> > >> >>> >> >> > >> "Adding the DataSource property to your ActiveMQResourceAdapter >>> >> >> > >> config >>> >> >> > >> will automatically setup JDBC Persistence using the >>> >> >> > >> org.apache.activemq.store.jdbc.JDBCPersistenceAdapter" >>> >> >> > >> >>> >> >> > >> but the example does not use the "?persistent=true" >>> >> >> > >> >>> >> >> > >> in my app, if I omit this parameter, tomee simply behaves as the >>> >> >> > >> messages are in memory. >>> >> >> > >> >>> >> >> > >> if I add the parameter >>> >> >> > >> >>> >> >> > >> <Resource id="Default JMS Resource Adapter" >>> >> >> > >> type="ActiveMQResourceAdapter"> >>> >> >> > >> BrokerXmlConfig = >>> >> >> > >> broker:(tcp://localhost:61616)?persistent=true >>> >> >> > >> ServerUrl = tcp://localhost:61616 >>> >> >> > >> DataSource = MyJmsDataSource >>> >> >> > >> </Resource> >>> >> >> > >> >>> >> >> > >> then it retrieves all the messages that are persisted >>> >> >> > >> >>> >> >> > >> BTW, how exactly should I set tomee to disable activemq >>> prefetch? >>> >> >> > >> (all >>> >> >> > of >>> >> >> > >> them) >>> >> >> > >> >>> >> >> > >> Please provide an example in a file (tomee.xml, >>> >> >> > >> application.properties, whatever), not in the java code. >>> >> >> > >> >>> >> >> > >> TIA >>> >> >> > >> >>> >> >> > >> Leo >>> >> >> > >> >>> >> >> > >>> >> >>>
