Package com.sun.sgs.test.util

Examples of com.sun.sgs.test.util.DummyManagedObject


        class TestTask extends InitialTestRunnable {
            BigInteger dummyId;
            BigInteger dummy2Id;
            public void run() throws Exception {
                super.run();
                DummyManagedObject dummy2 = new DummyManagedObject();
                dummyId = service.createReference(dummy).getId();
                dummy2Id = service.createReference(dummy2).getId();
                /* Make sure dummyId is smaller than dummy2Id */
                if (dummyId.compareTo(dummy2Id) > 0) {
                    DummyManagedObject obj = dummy;
                    dummy = dummy2;
                    dummy2 = obj;
                    service.setBinding("dummy", dummy);
                    BigInteger id = dummyId;
                    dummyId = dummy2Id;
View Full Code Here


    @Test
    public void testGetReferenceNotFound() throws Exception {
        txnScheduler.runTask(new InitialTestRunnable() {
            public void run() throws Exception {
                super.run();
                dummy.setNext(new DummyManagedObject());
                service.removeObject(dummy.getNext());
                try {
                    dummy.getNext();
                    fail("Expected ObjectNotFoundException");
                } catch (ObjectNotFoundException e) {
View Full Code Here

    @Test
    public void testGetReferenceOldTxn() throws Exception {
        txnScheduler.runTask(new InitialTestRunnable() {
            public void run() throws Exception {
                super.run();
                dummy.setNext(new DummyManagedObject());
        }}, taskOwner);

        txnScheduler.runTask(new TestAbstractKernelRunnable() {
            public void run() {
                try {
View Full Code Here

    @Test
    public void testGetReferenceTimeout() throws Exception {
        txnScheduler.runTask(new InitialTestRunnable() {
            public void run() throws Exception {
                super.run();
                dummy.setNext(new DummyManagedObject());
        }}, taskOwner);

        Properties properties = getProperties();
        properties.setProperty("com.sun.sgs.txn.timeout", "100");
        serverNodeRestart(properties, false);
View Full Code Here

    @Test
    public void testGetReferenceTimeoutReadResolve() throws Exception {
        txnScheduler.runTask(new TestAbstractKernelRunnable() {
            public void run() {
                DeserializationDelayed dummy = new DeserializationDelayed();
                dummy.setNext(new DummyManagedObject());
                service.setBinding("dummy", dummy);
        }}, taskOwner);

        Properties properties = getProperties();
        properties.setProperty("com.sun.sgs.txn.timeout", "100");
View Full Code Here

    @Test
    public void testGetReferenceUpdateNotFound() throws Exception {
        txnScheduler.runTask(new InitialTestRunnable() {
            public void run() throws Exception {
                super.run();
                dummy.setNext(new DummyManagedObject());
                service.removeObject(dummy.getNext());
                try {
                    dummy.getNextForUpdate();
                    fail("Expected ObjectNotFoundException");
                } catch (ObjectNotFoundException e) {
View Full Code Here

    @Test
    public void testGetReferenceUpdateSuccess() throws Exception {
        txnScheduler.runTask(new InitialTestRunnable() {
            public void run() throws Exception {
                super.run();
                DummyManagedObject dummy2 = new DummyManagedObject();
                dummy2.setValue("A");
                dummy.setNext(dummy2);
        }}, taskOwner);

        txnScheduler.runTask(new TestAbstractKernelRunnable() {
            public void run() {
                dummy = (DummyManagedObject) service.getBinding("dummy");
                DummyManagedObject dummy2 = dummy.getNextForUpdate();
                dummy2.value = "B";
        }}, taskOwner);

        txnScheduler.runTask(new TestAbstractKernelRunnable() {
            public void run() {
                dummy = (DummyManagedObject) service.getBinding("dummy");
                DummyManagedObject dummy2 = dummy.getNext();
                assertEquals("B", dummy2.value);
        }}, taskOwner);
    }
View Full Code Here

    @Test
    public void testGetReferenceUpdateOldTxn() throws Exception {
        txnScheduler.runTask(new InitialTestRunnable() {
            public void run() throws Exception {
                super.run();
                dummy.setNext(new DummyManagedObject());
        }}, taskOwner);

        txnScheduler.runTask(new TestAbstractKernelRunnable() {
            public void run() {
                try {
View Full Code Here

        properties.setProperty("com.sun.sgs.txn.timeout", "1000");
        serverNodeRestart(properties, true);

        txnScheduler.runTask(new TestAbstractKernelRunnable() {
            public void run() {
                dummy = new DummyManagedObject();
                dummy.setValue("a");
                service.setBinding("dummy", dummy);
                dummy.setNext(new DummyManagedObject());
        }}, taskOwner);

        final Semaphore mainFlag = new Semaphore(0);
        final Semaphore threadFlag = new Semaphore(0);

        // Semaphore to let us know when we are done; both threads must release
        final Semaphore doneFlag = new Semaphore(2);
        doneFlag.acquire(2);
       
        final AtomicReference<Throwable> error =
            new AtomicReference<Throwable>();

        txnScheduler.scheduleTask(new TestAbstractKernelRunnable() {
            public void run() throws Exception {
                try {
                    dummy = (DummyManagedObject) service.getBinding("dummy");
                    dummy.getNext();
                    assertTrue(threadFlag.tryAcquire(100, TimeUnit.MILLISECONDS));
                    mainFlag.release();
                    assertFalse(threadFlag.tryAcquire(100, TimeUnit.MILLISECONDS));
                    doneFlag.release();
                } catch (Throwable t) {
                    // We don't expect any non-retryable throwables
                    if (!isRetryable(t)) {
                        doneFlag.release();
                        error.set(t);
                    }
                    if (t instanceof Exception) {
                        throw (Exception) t;
                    } else {
                        throw (Error) t;
                    }
                }
        }}, taskOwner);

        txnScheduler.scheduleTask(new TestAbstractKernelRunnable() {
            public void run() throws Exception {
                try {
                    DummyManagedObject dummy2 =
                        (DummyManagedObject) service.getBinding("dummy");
                    threadFlag.release();
                    assertTrue(mainFlag.tryAcquire(1, TimeUnit.SECONDS));
                    dummy2.getNextForUpdate();
                    threadFlag.release();
                    doneFlag.release();
                } catch (Throwable t) {
                    // We don't expect any non-retryable throwables
                    if (!isRetryable(t)) {
View Full Code Here

            BigInteger id;
            BigInteger id2;
            public void run() throws Exception {
                super.run();
                id = service.createReference(dummy).getId();
                DummyManagedObject dummy2 = new DummyManagedObject();
                service.setBinding("dummy2", dummy2);
                id2 = service.createReference(dummy2).getId();
                assertFalse(id.equals(id2));
            }
        }

        final TestTask task = new TestTask();
        txnScheduler.runTask(task, taskOwner);

        txnScheduler.runTask(new TestAbstractKernelRunnable() {
            public void run() {
                dummy = (DummyManagedObject) service.getBinding("dummy");
                ManagedReference<DummyManagedObject> ref =
                    service.createReference(dummy);
                assertEquals(task.id, ref.getId());
                DummyManagedObject dummy2 = (DummyManagedObject) service.getBinding("dummy2");
                assertEquals(task.id2, service.createReference(dummy2).getId());
        }}, taskOwner);
    }
View Full Code Here

TOP

Related Classes of com.sun.sgs.test.util.DummyManagedObject

Copyright © 2018 www.massapicom. 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.