Ah. Okay, thanks.
rajdavies wrote: > > Unfortunately you need to set any persistence parameters before adding > a connector ... > > > > On 9 Apr 2008, at 00:44, yg_cvg wrote: > >> >> Oddly enough, doing >> >> m_broker = BrokerFactory.createBroker("broker:()? >> persistent=false"); >> >> instead of the first line below fixed the problem. Also, a bunch of >> warnings about JMX (which I also explicitly tried to disable before) >> went >> away. I'm not really sure why it fixed it, but it did. Based on the >> logging >> before the fix, it looked like it was trying to do some Kaha stuff >> BEFORE >> the setPersistent(false) line executes, so maybe that enables >> certain Kaha >> stuff to keep happening even after that line, though I'm still not >> sure why. >> >> Any insight would still be appreciated, but the above seems to fix the >> problem. >> >> >> yg_cvg wrote: >>> >>> I am embedding an ActiveMQ broker directly inside an app (long >>> story). I >>> am doing so explicitly with Java code (i.e., "broker = new >>> BrokerService();", etc.). I would like to completely avoid any >>> writing of >>> files when performing normal JMS tasks, such as sending and receiving >>> messages (again, long story... access control issues). [This may >>> change >>> later, but for now, I am trying to avoid disk use. Persistence is >>> not a >>> concern.] I do this to create/start the broker: >>> >>> m_broker = new BrokerService(); >>> m_broker.setBrokerName(S_STR_BROKER_NAME); >>> m_broker.addConnector("vm://" + S_STR_BROKER_NAME); >>> m_broker.setUseJmx(false); >>> m_broker.setPersistent(false); >>> m_broker.setPersistenceAdapter(null); >>> m_broker.start(); >>> >>> However, when I start the broker, I see the following log output: >>> >>> INFO [main]: ActiveMQ 5.0.0 JMS Message Broker (mainbroker) is >>> starting >>> INFO [main]: For help or more information please see: >>> http://activemq.apache.org/ >>> INFO [main]: AMQStore starting using directory: activemq-data/ >>> mainbroker >>> INFO [main]: Kaha Store using data directory >>> activemq-data/mainbroker/kr-store/state >>> INFO [main]: Active data files: [] >>> WARN [main]: The ReferenceStore is not valid - recovering ... >>> INFO [main]: Kaha Store successfully deleted data directory >>> activemq-data/mainbroker/kr-store/data >>> INFO [main]: Journal Recovery Started from: DataManager:(data-) >>> INFO [main]: Recovered 0 operations from redo log in 0.015 seconds. >>> INFO [main]: Finished recovering the ReferenceStore >>> INFO [main]: Using Persistence Adapter: MemoryPersistenceAdapter >>> INFO [main]: Kaha Store using data directory >>> activemq-data/mainbroker/kr-store/data >>> INFO [main]: Connector vm://mainbroker Started >>> INFO [main]: ActiveMQ JMS Message Broker (mainbroker, >>> ID:yurik2.engr.akamai.com-54085-1207691353487-0:0) started >>> >>> So, on the one hand, it is using MemoryPersistenceAdapter (as I >>> want, I >>> think), but also it's initializing some Kaha stuff (and also Journal >>> stuff... not sure if that's separate or the same thing) -- which I'd >>> rather it not do, if possible. >>> >>> Later, when the in-VM client (which, unlike the above broker >>> initialization code, is constrained by rather strict security rules >>> about >>> file writing) does a JMS send(), I get a security exception: >>> >>> javax.jms.JMSException: access denied (java.io.FilePermission >>> activemq-data/mainbroker/kr-store/data read) >>> at >>> org >>> .apache >>> .activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java: >>> 49) >>> at >>> org >>> .apache >>> .activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java: >>> 1178) >>> at >>> org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1640) >>> at >>> org >>> .apache >>> .activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java: >>> 226) >>> at >>> org >>> .apache >>> .activemq >>> .ActiveMQMessageProducerSupport >>> .send(ActiveMQMessageProducerSupport.java:240) >>> at com.akamai.edgejava.tests.JmsTest.doGet(JmsTest.java:142) >>> __NOTE__ This is where I do send(). >>> ...etc... >>> Caused by: java.security.AccessControlException: access denied >>> (java.io.FilePermission activemq-data/mainbroker/kr-store/data read) >>> at >>> java >>> .security >>> .AccessControlContext.checkPermission(AccessControlContext.java:323) >>> at >>> java >>> .security.AccessController.checkPermission(AccessController.java:546) >>> at >>> java.lang.SecurityManager.checkPermission(SecurityManager.java:532) >>> at java.lang.SecurityManager.checkRead(SecurityManager.java: >>> 871) >>> at java.io.File.list(File.java:971) >>> at java.io.File.listFiles(File.java:1090) >>> at >>> org >>> .apache >>> .activemq >>> .kaha.impl.data.DataManagerImpl.<init>(DataManagerImpl.java:70) >>> at >>> org >>> .apache.activemq.kaha.impl.KahaStore.getDataManager(KahaStore.java: >>> 358) >>> at >>> org >>> .apache.activemq.kaha.impl.KahaStore.getMapContainer(KahaStore.java: >>> 221) >>> at >>> org >>> .apache >>> .activemq >>> .store >>> .kahadaptor >>> .KahaReferenceStoreAdapter >>> .getMapReferenceContainer(KahaReferenceStoreAdapter.java:198) >>> at >>> org >>> .apache >>> .activemq >>> .store >>> .kahadaptor >>> .KahaReferenceStoreAdapter >>> .createTopicReferenceStore(KahaReferenceStoreAdapter.java:165) >>> at >>> org >>> .apache >>> .activemq >>> .store >>> .amq >>> .AMQPersistenceAdapter >>> .createTopicMessageStore(AMQPersistenceAdapter.java:414) >>> at >>> org >>> .apache >>> .activemq >>> .broker >>> .region >>> .DestinationFactoryImpl >>> .createDestination(DestinationFactoryImpl.java:114) >>> at >>> org >>> .apache >>> .activemq >>> .broker.region.AbstractRegion.createDestination(AbstractRegion.java: >>> 399) >>> at >>> org >>> .apache >>> .activemq >>> .broker >>> .jmx.ManagedTopicRegion.createDestination(ManagedTopicRegion.java:56) >>> at >>> org >>> .apache >>> .activemq >>> .broker.region.AbstractRegion.addDestination(AbstractRegion.java:116) >>> at >>> org >>> .apache >>> .activemq >>> .broker.region.RegionBroker.addDestination(RegionBroker.java:259) >>> at >>> org >>> .apache.activemq.broker.region.RegionBroker.send(RegionBroker.java: >>> 382) >>> at >>> org >>> .apache >>> .activemq.broker.TransactionBroker.send(TransactionBroker.java:224) >>> at >>> org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:125) >>> at >>> org >>> .apache >>> .activemq >>> .broker >>> .CompositeDestinationBroker.send(CompositeDestinationBroker.java:95) >>> at >>> org >>> .apache >>> .activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java: >>> 135) >>> at >>> org >>> .apache >>> .activemq >>> .broker.TransportConnection.processMessage(TransportConnection.java: >>> 434) >>> ...etc... >>> >>> It's trying to read "activemq-data/mainbroker/kr-store/data", which >>> is not >>> allowed for reasons I won't go into here. Why is it trying to do >>> this >>> Kaha stuff, if I want memory persistence only? Is there a way to >>> disable >>> this? >>> >>> Thank you so much. >>> >> >> -- >> View this message in context: >> http://www.nabble.com/completely-disabling-Kaha-Store-tp16575091s2354p16576404.html >> Sent from the ActiveMQ - User mailing list archive at Nabble.com. >> > > > > cheers, > > Rob > > http://open.iona.com/ -Enterprise Open Integration > http://rajdavies.blogspot.com/ > > > > > -- View this message in context: http://www.nabble.com/completely-disabling-Kaha-Store-tp16575091s2354p16589562.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.