Package org.agilewiki.jfile.transactions

Source Code of org.agilewiki.jfile.transactions.TransactionAggregatorTest

package org.agilewiki.jfile.transactions;

import junit.framework.TestCase;
import org.agilewiki.jactor.JAFuture;
import org.agilewiki.jactor.JAMailboxFactory;
import org.agilewiki.jactor.Mailbox;
import org.agilewiki.jactor.MailboxFactory;
import org.agilewiki.jactor.factory.JAFactory;
import org.agilewiki.jfile.JFileFactories;
import org.agilewiki.jfile.transactions.db.StatelessDB;
import org.agilewiki.jfile.transactions.transactionAggregator.AggregateTransaction;
import org.agilewiki.jfile.transactions.transactionAggregator.TransactionAggregator;

public class TransactionAggregatorTest extends TestCase {
    public void test()
            throws Exception {
        MailboxFactory mailboxFactory = JAMailboxFactory.newMailboxFactory(10);
        Mailbox factoryMailbox = mailboxFactory.createMailbox();
        JAFactory factory = new JAFactory();
        factory.initialize(factoryMailbox);
        (new JFileFactories()).initialize(factoryMailbox, factory);
        factory.defineActorType("helloWorldTransaction", HelloWorldTransaction.class);
        JAFuture future = new JAFuture();
        Mailbox dbMailbox = mailboxFactory.createAsyncMailbox();
        StatelessDB db = new StatelessDB();
        db.initialize(dbMailbox, factory);
        TransactionProcessor transactionProcessor = new TransactionProcessor();
        transactionProcessor.initialize(dbMailbox, db);

        TransactionAggregator transactionAggregator = new org.agilewiki.jfile.transactions.transactionAggregator.TransactionAggregator();
        transactionAggregator.initialize(mailboxFactory.createAsyncMailbox(), factory);
        transactionAggregator.setNext(transactionProcessor);

        (new AggregateTransaction("helloWorldTransaction")).sendEvent(transactionAggregator);
        (new AggregateTransaction("helloWorldTransaction")).sendEvent(transactionAggregator);
        (new AggregateTransaction("helloWorldTransaction")).send(future, transactionAggregator);

        mailboxFactory.close();
    }
}
TOP

Related Classes of org.agilewiki.jfile.transactions.TransactionAggregatorTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.