oops
On 12 Jun 2009, at 16:06, Hiram Chirino wrote:

Don't you also need to update the xsd?

On Fri, Jun 12, 2009 at 6:44 AM, <[email protected]> wrote:
Author: rajdavies
Date: Fri Jun 12 10:44:50 2009
New Revision: 784062

URL: http://svn.apache.org/viewvc?rev=784062&view=rev
Log:
Added perf test for KahaDB and update XBeans for KahaDB Persistence
Adapter

Added:

activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/ kahadb/KahaDBPersistenceAdapter.java
 (with props)

activemq/trunk/activemq-core/src/test/resources/org/apache/activemq/ perf/kahadbBroker.xml
 (with props)
Modified:

activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/ kahadb/KahaDBStore.java

activemq/trunk/activemq-core/src/main/resources/META-INF/services/ org/apache/xbean/spring/http/
activemq.apache.org/schema/core

activemq/trunk/activemq-core/src/main/resources/META-INF/services/ org/apache/xbean/spring/http/
activemq.org/config/1.0

activemq/trunk/activemq-core/src/test/java/org/apache/activemq/perf/ KahaQueueTest.java

Added:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/ kahadb/KahaDBPersistenceAdapter.java
URL:
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/KahaDBPersistenceAdapter.java?rev=784062&view=auto

= = = = = = = = ======================================================================
---
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/ kahadb/KahaDBPersistenceAdapter.java
(added)
+++
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/ kahadb/KahaDBPersistenceAdapter.java
Fri Jun 12 10:44:50 2009
@@ -0,0 +1,306 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version
2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.activemq.store.kahadb;
+
+import org.apache.activeio.journal.Journal;
+import org.apache.activemq.broker.ConnectionContext;
+import org.apache.activemq.command.ActiveMQDestination;
+import org.apache.activemq.command.ActiveMQQueue;
+import org.apache.activemq.command.ActiveMQTopic;
+import org.apache.activemq.store.MessageStore;
+import org.apache.activemq.store.PersistenceAdapter;
+import org.apache.activemq.store.TopicMessageStore;
+import org.apache.activemq.store.TransactionStore;
+import org.apache.activemq.usage.SystemUsage;
+import java.io.File;
+import java.io.IOException;
+import java.util.Set;
+/**
+ * An implementation of {...@link PersistenceAdapter} designed for use with
a
+ * {...@link Journal} and then check pointing asynchronously on a timeout
with some
+ * other long term persistent storage.
+ *
+ * @org.apache.xbean.XBean element="KahaDB"
+ * @version $Revision: 1.17 $
+ */
+public class KahaDBPersistenceAdapter implements PersistenceAdapter {
+    private KahaDBStore letter = new KahaDBStore();
+
+
+    /**
+     * @param context
+     * @throws IOException
+     * @see
org .apache .activemq .store .PersistenceAdapter #beginTransaction(org.apache.activemq.broker.ConnectionContext)
+     */
+    public void beginTransaction(ConnectionContext context) throws
IOException {
+        this.letter.beginTransaction(context);
+    }
+
+    /**
+     * @param sync
+     * @throws IOException
+     * @see
org.apache.activemq.store.PersistenceAdapter#checkpoint(boolean)
+     */
+    public void checkpoint(boolean sync) throws IOException {
+        this.letter.checkpoint(sync);
+    }
+
+    /**
+     * @param context
+     * @throws IOException
+     * @see
org .apache .activemq .store .PersistenceAdapter #commitTransaction(org.apache.activemq.broker.ConnectionContext)
+     */
+    public void commitTransaction(ConnectionContext context) throws
IOException {
+        this.letter.commitTransaction(context);
+    }
+
+    /**
+     * @param destination
+     * @return MessageStore
+     * @throws IOException
+     * @see
org .apache .activemq .store .PersistenceAdapter #createQueueMessageStore(org.apache.activemq.command.ActiveMQQueue)
+     */
+    public MessageStore createQueueMessageStore(ActiveMQQueue
destination) throws IOException {
+        return this.letter.createQueueMessageStore(destination);
+    }
+
+    /**
+     * @param destination
+     * @return TopicMessageStore
+     * @throws IOException
+     * @see
org .apache .activemq .store .PersistenceAdapter #createTopicMessageStore(org.apache.activemq.command.ActiveMQTopic)
+     */
+    public TopicMessageStore createTopicMessageStore(ActiveMQTopic
destination) throws IOException {
+        return this.letter.createTopicMessageStore(destination);
+    }
+
+    /**
+     * @return TrandactionStore
+     * @throws IOException
+     * @see
org.apache.activemq.store.PersistenceAdapter#createTransactionStore()
+     */
+ public TransactionStore createTransactionStore() throws IOException {
+        return this.letter.createTransactionStore();
+    }
+
+    /**
+     * @throws IOException
+     * @see
org.apache.activemq.store.PersistenceAdapter#deleteAllMessages()
+     */
+    public void deleteAllMessages() throws IOException {
+        this.letter.deleteAllMessages();
+    }
+
+    /**
+     * @return destinations
+     * @see
org.apache.activemq.store.PersistenceAdapter#getDestinations()
+     */
+    public Set<ActiveMQDestination> getDestinations() {
+        return this.letter.getDestinations();
+    }
+
+    /**
+     * @return lastMessageBrokerSequenceId
+     * @throws IOException
+     * @see
org .apache .activemq.store.PersistenceAdapter#getLastMessageBrokerSequenceId()
+     */
+ public long getLastMessageBrokerSequenceId() throws IOException {
+        return this.letter.getLastMessageBrokerSequenceId();
+    }
+
+    /**
+     * @param destination
+     * @see
org .apache .activemq .store .PersistenceAdapter #removeQueueMessageStore(org.apache.activemq.command.ActiveMQQueue)
+     */
+    public void removeQueueMessageStore(ActiveMQQueue destination) {
+        this.letter.removeQueueMessageStore(destination);
+    }
+
+    /**
+     * @param destination
+     * @see
org .apache .activemq .store .PersistenceAdapter #removeTopicMessageStore(org.apache.activemq.command.ActiveMQTopic)
+     */
+    public void removeTopicMessageStore(ActiveMQTopic destination) {
+        this.letter.removeTopicMessageStore(destination);
+    }
+
+    /**
+     * @param context
+     * @throws IOException
+     * @see
org .apache .activemq .store .PersistenceAdapter #rollbackTransaction(org.apache.activemq.broker.ConnectionContext)
+     */
+ public void rollbackTransaction(ConnectionContext context) throws
IOException {
+        this.letter.rollbackTransaction(context);
+    }
+
+    /**
+     * @param brokerName
+     * @see
org .apache .activemq.store.PersistenceAdapter#setBrokerName(java.lang.String)
+     */
+    public void setBrokerName(String brokerName) {
+        this.letter.setBrokerName(brokerName);
+    }
+
+
+
+    /**
+     * @param usageManager
+     * @see
org .apache .activemq .store .PersistenceAdapter #setUsageManager(org.apache.activemq.usage.SystemUsage)
+     */
+    public void setUsageManager(SystemUsage usageManager) {
+        this.letter.setUsageManager(usageManager);
+    }
+
+    /**
+     * @return the size of the store
+     * @see org.apache.activemq.store.PersistenceAdapter#size()
+     */
+    public long size() {
+        return this.letter.size();
+    }
+
+    /**
+     * @throws Exception
+     * @see org.apache.activemq.Service#start()
+     */
+    public void start() throws Exception {
+        this.letter.start();
+    }
+
+    /**
+     * @throws Exception
+     * @see org.apache.activemq.Service#stop()
+     */
+    public void stop() throws Exception {
+        this.letter.stop();
+    }
+
+    /**
+     * Get the journalMaxFileLength
+     * @return the journalMaxFileLength
+     */
+    public int getJournalMaxFileLength() {
+        return this.letter.getJournalMaxFileLength();
+    }
+
+    /**
+     * @param journalMaxFileLength
+     * When set using XBean, you can use values such as: "20
+     * mb", "1024 kb", or "1 gb"
+     *
+     * @org.apache.xbean.Property
propertyEditor="org.apache.activemq.util.MemoryPropertyEditor"
+     */
+    public void setJournalMaxFileLength(int journalMaxFileLength) {
+        this.letter.setJournalMaxFileLength(journalMaxFileLength);
+    }
+
+    /**
+     * Get the checkpointInterval
+     * @return the checkpointInterval
+     */
+    public long getCheckpointInterval() {
+        return this.letter.getCheckpointInterval();
+    }
+
+    /**
+     * Set the checkpointInterval
+     * @param checkpointInterval the checkpointInterval to set
+     */
+    public void setCheckpointInterval(long checkpointInterval) {
+        this.letter.setCheckpointInterval(checkpointInterval);
+    }
+
+    /**
+     * Get the cleanupInterval
+     * @return the cleanupInterval
+     */
+    public long getCleanupInterval() {
+        return this.letter.getCleanupInterval();
+    }
+
+    /**
+     * Set the cleanupInterval
+     * @param cleanupInterval the cleanupInterval to set
+     */
+    public void setCleanupInterval(long cleanupInterval) {
+        this.letter.setCleanupInterval(cleanupInterval);
+    }
+
+    /**
+     * Get the indexWriteBatchSize
+     * @return the indexWriteBatchSize
+     */
+    public int getIndexWriteBatchSize() {
+        return this.letter.getIndexWriteBatchSize();
+    }
+
+    /**
+     * Set the indexWriteBatchSize
+     * @param indexWriteBatchSize the indexWriteBatchSize to set
+     */
+    public void setIndexWriteBatchSize(int indexWriteBatchSize) {
+        this.letter.setIndexWriteBatchSize(indexWriteBatchSize);
+    }
+
+    /**
+     * Get the enableIndexWriteAsync
+     * @return the enableIndexWriteAsync
+     */
+    public boolean isEnableIndexWriteAsync() {
+        return this.letter.isEnableIndexWriteAsync();
+    }
+
+    /**
+     * Set the enableIndexWriteAsync
+     * @param enableIndexWriteAsync the enableIndexWriteAsync to set
+     */
+ public void setEnableIndexWriteAsync(boolean enableIndexWriteAsync) {
+        this.letter.setEnableIndexWriteAsync(enableIndexWriteAsync);
+    }
+
+    /**
+     * Get the directory
+     * @return the directory
+     */
+    public File getDirectory() {
+        return this.letter.getDirectory();
+    }
+
+    /**
+     * @param dir
+     * @see
org .apache.activemq.store.PersistenceAdapter#setDirectory(java.io.File)
+     */
+    public void setDirectory(File dir) {
+        this.letter.setDirectory(dir);
+    }
+
+    /**
+     * Get the enableJournalDiskSyncs
+     * @return the enableJournalDiskSyncs
+     */
+    public boolean isEnableJournalDiskSyncs() {
+        return this.letter.isEnableJournalDiskSyncs();
+    }
+
+    /**
+     * Set the enableJournalDiskSyncs
+ * @param enableJournalDiskSyncs the enableJournalDiskSyncs to set
+     */
+ public void setEnableJournalDiskSyncs(boolean enableJournalDiskSyncs)
{
+ this.letter.setEnableJournalDiskSyncs(enableJournalDiskSyncs);
+    }
+}

Propchange:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/ kahadb/KahaDBPersistenceAdapter.java

------------------------------------------------------------------------------
  svn:eol-style = native

Propchange:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/ kahadb/KahaDBPersistenceAdapter.java

------------------------------------------------------------------------------
  svn:mime-type = text/plain

Modified:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/ kahadb/KahaDBStore.java
URL:
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/KahaDBStore.java?rev=784062&r1=784061&r2=784062&view=diff

= = = = = = = = ======================================================================
---
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/ kahadb/KahaDBStore.java
(original)
+++
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/ kahadb/KahaDBStore.java
Fri Jun 12 10:44:50 2009
@@ -25,6 +25,7 @@
import java.util.Set;
import java.util.Map.Entry;

+import org.apache.activeio.journal.Journal;
import org.apache.activemq.broker.ConnectionContext;
import org.apache.activemq.command.ActiveMQDestination;
import org.apache.activemq.command.ActiveMQQueue;
@@ -66,6 +67,7 @@
import org.apache.kahadb.journal.Location;
import org.apache.kahadb.page.Transaction;

+
public class KahaDBStore extends MessageDatabase implements
PersistenceAdapter {

   private WireFormat wireFormat = new OpenWireFormat();

Modified:
activemq/trunk/activemq-core/src/main/resources/META-INF/services/ org/apache/xbean/spring/http/
activemq.apache.org/schema/core
URL:
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/resources/META-INF/services/org/apache/xbean/spring/http/activemq.apache.org/schema/core?rev=784062&r1=784061&r2=784062&view=diff

= = = = = = = = ======================================================================
---
activemq/trunk/activemq-core/src/main/resources/META-INF/services/ org/apache/xbean/spring/http/
activemq.apache.org/schema/core (original)
+++
activemq/trunk/activemq-core/src/main/resources/META-INF/services/ org/apache/xbean/spring/http/
activemq.apache.org/schema/core Fri Jun 12 10:44:50 2009
@@ -120,6 +120,9 @@
kahaPersistenceAdapter.maxDataFileLength.propertyEditor =
org.apache.activemq.util.MemoryPropertyEditor

org .apache .activemq .store .kahadaptor .KahaPersistenceAdapter (java.util.concurrent.atomic.AtomicLong).parameterNames
= size

+kahaDB = org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter
+kahaDB.journalMaxFileLength.propertyEditor =
org.apache.activemq.util.MemoryPropertyEditor
+
lDAPAuthorizationMap = org.apache.activemq.security.LDAPAuthorizationMap

org .apache .activemq.security.LDAPAuthorizationMap(java.util.Map).parameterNames
= options


Modified:
activemq/trunk/activemq-core/src/main/resources/META-INF/services/ org/apache/xbean/spring/http/
activemq.org/config/1.0
URL:
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/resources/META-INF/services/org/apache/xbean/spring/http/activemq.org/config/1.0?rev=784062&r1=784061&r2=784062&view=diff

= = = = = = = = ======================================================================
---
activemq/trunk/activemq-core/src/main/resources/META-INF/services/ org/apache/xbean/spring/http/
activemq.org/config/1.0 (original)
+++
activemq/trunk/activemq-core/src/main/resources/META-INF/services/ org/apache/xbean/spring/http/
activemq.org/config/1.0 Fri Jun 12 10:44:50 2009
@@ -120,6 +120,9 @@
kahaPersistenceAdapter.maxDataFileLength.propertyEditor =
org.apache.activemq.util.MemoryPropertyEditor

org .apache .activemq .store .kahadaptor .KahaPersistenceAdapter (java.util.concurrent.atomic.AtomicLong).parameterNames
= size

+kahaDB = org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter
+kahaDB.journalMaxFileLength.propertyEditor =
org.apache.activemq.util.MemoryPropertyEditor
+
lDAPAuthorizationMap = org.apache.activemq.security.LDAPAuthorizationMap

org .apache .activemq.security.LDAPAuthorizationMap(java.util.Map).parameterNames
= options


Modified:
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/perf/ KahaQueueTest.java
URL:
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/perf/KahaQueueTest.java?rev=784062&r1=784061&r2=784062&view=diff

= = = = = = = = ======================================================================
---
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/perf/ KahaQueueTest.java
(original)
+++
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/perf/ KahaQueueTest.java
Fri Jun 12 10:44:50 2009
@@ -17,18 +17,21 @@
package org.apache.activemq.perf;

import org.apache.activemq.broker.BrokerService;
-import org.apache.activemq.store.kahadaptor.KahaPersistenceAdapter;
-
+import org.apache.activemq.xbean.BrokerFactoryBean;
+import org.springframework.core.io.ClassPathResource;
+import org.springframework.core.io.Resource;
/**
* @version $Revision: 1.3 $
*/
public class KahaQueueTest extends SimpleQueueTest {
+    final static String config =
"org/apache/activemq/perf/kahadbBroker.xml";

-    protected void configureBroker(BrokerService answer,String uri)
throws Exception {
- KahaPersistenceAdapter adaptor = new KahaPersistenceAdapter();
-        answer.setPersistenceAdapter(adaptor);
-        answer.addConnector(uri);
-        answer.setDeleteAllMessagesOnStartup(true);
+ protected BrokerService createBroker(String uri) throws Exception {
+        Resource resource = new ClassPathResource(config);
+        BrokerFactoryBean brokerFactory = new
BrokerFactoryBean(resource);
+        resource = new ClassPathResource(config);
+        brokerFactory = new BrokerFactoryBean(resource);
+        brokerFactory.afterPropertiesSet();
+        return brokerFactory.getBroker();
   }
-
}

Added:
activemq/trunk/activemq-core/src/test/resources/org/apache/activemq/ perf/kahadbBroker.xml
URL:
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/resources/org/apache/activemq/perf/kahadbBroker.xml?rev=784062&view=auto

= = = = = = = = ======================================================================
---
activemq/trunk/activemq-core/src/test/resources/org/apache/activemq/ perf/kahadbBroker.xml
(added)
+++
activemq/trunk/activemq-core/src/test/resources/org/apache/activemq/ perf/kahadbBroker.xml
Fri Jun 12 10:44:50 2009
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version
2.0
+ (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied.
+ See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<beans >
+  <bean
class = "org .springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
+
+ <broker brokerName="broker" persistent="true" useShutdownHook="false"
deleteAllMessagesOnStartup="true" xmlns="
http://activemq.apache.org/schema/core";>
+    <transportConnectors>
+      <transportConnector uri="tcp://localhost:61616"/>
+    </transportConnectors>
+    <persistenceAdapter>
+      <kahaDB directory = "target/activemq-data"/>
+    </persistenceAdapter>
+  </broker>
+
+</beans>

Propchange:
activemq/trunk/activemq-core/src/test/resources/org/apache/activemq/ perf/kahadbBroker.xml

------------------------------------------------------------------------------
  svn:mime-type = text/plain






--
Regards,
Hiram

Blog: http://hiramchirino.com

Open Source SOA
http://fusesource.com/

Reply via email to