Search in sources :

Example 6 with PersistedConnectionFactory

use of org.apache.activemq.artemis.jms.persistence.config.PersistedConnectionFactory in project activemq-artemis by apache.

the class JMSJournalStorageManagerImpl method load.

@Override
public void load() throws Exception {
    mapFactories.clear();
    List<RecordInfo> data = new ArrayList<>();
    ArrayList<PreparedTransactionInfo> list = new ArrayList<>();
    jmsJournal.load(data, list, null);
    for (RecordInfo record : data) {
        long id = record.id;
        ActiveMQBuffer buffer = ActiveMQBuffers.wrappedBuffer(record.data);
        byte rec = record.getUserRecordType();
        if (rec == CF_RECORD) {
            PersistedConnectionFactory cf = new PersistedConnectionFactory();
            cf.decode(buffer);
            cf.setId(id);
            mapFactories.put(cf.getName(), cf);
        } else if (rec == DESTINATION_RECORD) {
            PersistedDestination destination = new PersistedDestination();
            destination.decode(buffer);
            destination.setId(id);
            destinations.put(new Pair<>(destination.getType(), destination.getName()), destination);
        } else if (rec == BINDING_RECORD) {
            PersistedBindings bindings = new PersistedBindings();
            bindings.decode(buffer);
            bindings.setId(id);
            Pair<PersistedType, String> key = new Pair<>(bindings.getType(), bindings.getName());
            mapBindings.put(key, bindings);
        } else {
            throw new IllegalStateException("Invalid record type " + rec);
        }
    }
}
Also used : PersistedDestination(org.apache.activemq.artemis.jms.persistence.config.PersistedDestination) PreparedTransactionInfo(org.apache.activemq.artemis.core.journal.PreparedTransactionInfo) RecordInfo(org.apache.activemq.artemis.core.journal.RecordInfo) PersistedType(org.apache.activemq.artemis.jms.persistence.config.PersistedType) ArrayList(java.util.ArrayList) PersistedConnectionFactory(org.apache.activemq.artemis.jms.persistence.config.PersistedConnectionFactory) PersistedBindings(org.apache.activemq.artemis.jms.persistence.config.PersistedBindings) ActiveMQBuffer(org.apache.activemq.artemis.api.core.ActiveMQBuffer) Pair(org.apache.activemq.artemis.api.core.Pair)

Aggregations

PersistedConnectionFactory (org.apache.activemq.artemis.jms.persistence.config.PersistedConnectionFactory)6 ArrayList (java.util.ArrayList)4 ConnectionFactoryConfiguration (org.apache.activemq.artemis.jms.server.config.ConnectionFactoryConfiguration)3 ConnectionFactoryConfigurationImpl (org.apache.activemq.artemis.jms.server.config.impl.ConnectionFactoryConfigurationImpl)3 Test (org.junit.Test)3 ActiveMQBuffer (org.apache.activemq.artemis.api.core.ActiveMQBuffer)2 Pair (org.apache.activemq.artemis.api.core.Pair)2 PersistedDestination (org.apache.activemq.artemis.jms.persistence.config.PersistedDestination)2 HashMap (java.util.HashMap)1 SimpleString (org.apache.activemq.artemis.api.core.SimpleString)1 PreparedTransactionInfo (org.apache.activemq.artemis.core.journal.PreparedTransactionInfo)1 RecordInfo (org.apache.activemq.artemis.core.journal.RecordInfo)1 ActiveMQConnectionFactory (org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory)1 PersistedBindings (org.apache.activemq.artemis.jms.persistence.config.PersistedBindings)1 PersistedType (org.apache.activemq.artemis.jms.persistence.config.PersistedType)1