Package org.jboss.cache.loader

Examples of org.jboss.cache.loader.CacheLoader


    * Tests a two-phase transaction.
    */
   public void testTwoPhaseTransactionPassivation()
         throws Exception
   {
      CacheLoader loader = loaderTL.get();

      Object txnKey = new Object();
      List<Modification> mods = createUpdates();
      loader.prepare(txnKey, mods, false);
      //      try {
      //         checkModifications(mods);
      //         // fail("Expected lock timeout");
      //      } catch (DeadlockException expected) {}
      loader.commit(txnKey);
      addDelay();
      checkModifications(mods);
   }
View Full Code Here


    * Tests rollback of a two-phase transaction.
    */
   public void testTransactionRollbackPassivation()
         throws Exception
   {
      CacheLoader loader = loaderTL.get();

      loader.remove(Fqn.fromString("/"));

      ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
      MarshalledValueOutputStream os = new MarshalledValueOutputStream(baos);
      loader.loadEntireState(os);
      os.close();
      int num = baos.size();

      Object txnKey = new Object();
      List<Modification> mods = createUpdates();
      loader.prepare(txnKey, mods, false);
      loader.rollback(txnKey);

      baos = new ByteArrayOutputStream(1024);
      os = new MarshalledValueOutputStream(baos);
      loader.loadEntireState(os);
      os.close();

      assertEquals(num, baos.size());
   }
View Full Code Here

    * Checks that a list of modifications was applied.
    */
   private void checkModifications(List<Modification> list)
         throws Exception
   {
      CacheLoader loader = loaderTL.get();

      for (Modification mod : list)
      {
         Fqn fqn = mod.getFqn();
         switch (mod.getType())
         {
            case PUT_KEY_VALUE:
               assertEquals(mod.getValue(), loader.get(fqn).get(mod.getKey()));
               break;
            case PUT_DATA:
               for (Object key : mod.getData().keySet())
               {
                  assertEquals(mod.getData().get(key), loader.get(fqn).get(key));
               }
               break;
            case REMOVE_KEY_VALUE:
               assertEquals(null, loader.get(fqn).get(mod.getKey()));
               break;
            case REMOVE_DATA:
               Map map = loader.get(fqn);
               assertNotNull(map);
               assertTrue(map.isEmpty());
               break;
            case REMOVE_NODE:
               assertEquals(null, loader.get(fqn));
               break;
            default:
               fail("unknown type: " + mod);
               break;
         }
View Full Code Here

    * Tests that null keys and values work as for a standard Java Map.
    */
   public void testNullKeysAndValues()
         throws Exception
   {
      CacheLoader loader = loaderTL.get();

      loader.put(FQN, null, "x");
      addDelay();
      assertEquals("x", loader.get(FQN).get(null));
      Map<Object, Object> map = loader.get(FQN);
      assertEquals(1, map.size());
      assertEquals("x", map.get(null));

      loader.put(FQN, "y", null);
      addDelay();
      assertEquals(null, loader.get(FQN).get("y"));
      map = loader.get(FQN);
      assertEquals(2, map.size());
      assertEquals("x", map.get(null));
      assertEquals(null, map.get("y"));

      loader.remove(FQN, null);
      addDelay();
      assertEquals(null, loader.get(FQN).get(null));
      assertEquals(1, loader.get(FQN).size());

      loader.remove(FQN, "y");
      addDelay();
      assertNotNull(loader.get(FQN));
      assertNull(loader.get(FQN).get("y"));
      assertEquals(0, loader.get(FQN).size());

      map = new HashMap<Object, Object>();
      map.put(null, null);
      loader.put(FQN, map);
      addDelay();
      assertEquals(map, loader.get(FQN));

      loader.remove(FQN);
      addDelay();
      assertNull(loader.get(FQN));

      map = new HashMap<Object, Object>();
      map.put("xyz", null);
      map.put(null, "abc");
      loader.put(FQN, map);
      addDelay();
      assertEquals(map, loader.get(FQN));

      loader.remove(FQN);
      addDelay();
      assertNull(loader.get(FQN));
   }
View Full Code Here

    * Test non-default database name.
    */
   public void testDatabaseNamePassivation()
         throws Exception
   {
      CacheLoader loader = loaderTL.get();

      loader.put(FQN, "one", "two");
      addDelay();
      assertEquals("two", loader.get(FQN).get("one"));
   }
View Full Code Here

    */
   public void testLoadAndStore()
         throws Exception
   {
      CacheSPI<Object, Object> cache = cacheTL.get();
      CacheLoader loader = loaderTL.get();

      /* Empty state. */
      loader.remove(Fqn.fromString("/"));
      // assertEquals(0, loader.loadEntireState().length);
      //      loader.storeEntireState(new byte[0]);
      //      assertEquals(0, loader.loadEntireState().length);
      //      loader.storeEntireState(null);
      //      assertEquals(0, loader.loadEntireState().length);
      //      assertEquals(null, loader.get(FQN));

      /* Use a complex object to ensure that the class catalog is used. */
      Complex c1 = new Complex();
      Complex c2 = new Complex(c1);

      /* Add objects. */
      loader.put(FQN, 1, c1);
      loader.put(FQN, 2, c2);
      addDelay();
      assertEquals(c1, loader.get(FQN).get(1));
      assertEquals(c2, loader.get(FQN).get(2));
      assertEquals(2, loader.get(FQN).size());

      /* Save state. */
      ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
      MarshalledValueOutputStream os = new MarshalledValueOutputStream(baos);
      loader.loadEntireState(os);
      cache.getMarshaller().objectToObjectStream(DefaultStateTransferManager.STREAMING_DELIMITER_NODE, os);
      os.close();
      assertTrue(baos.size() > 0);

      byte[] savedState = baos.toByteArray();

      /* Restore state. */
      ByteArrayInputStream bais = new ByteArrayInputStream(savedState);
      MarshalledValueInputStream is = new MarshalledValueInputStream(bais);
      loader.storeEntireState(is);
      is.close();

      addDelay();
      assertEquals(c1, loader.get(FQN).get(1));
      assertEquals(c2, loader.get(FQN).get(2));
      assertEquals(2, loader.get(FQN).size());
   }
View Full Code Here

      // Pause to give caches time to see each other
      TestingUtil.blockUntilViewsReceived(new CacheSPI[]{cache1, cache2}, 60000);

      if (asyncLoader) TestingUtil.sleepThread(100);

      CacheLoader loader = cache2.getCacheLoaderManager().getCacheLoader();

      assertEquals("Incorrect loader name for /a/b", JOE, loader.get(A_B).get("name"));
      assertEquals("Incorrect loader age for /a/b", TWENTY, loader.get(A_B).get("age"));
      assertEquals("Incorrect loader name for /a/c", BOB, loader.get(A_C).get("name"));
      assertEquals("Incorrect loader age for /a/c", FORTY, loader.get(A_C).get("age"));

      assertEquals("Incorrect name for /a/b", JOE, cache2.get(A_B, "name"));
      assertEquals("Incorrect age for /a/b", TWENTY, cache2.get(A_B, "age"));
      assertEquals("Incorrect name for /a/c", BOB, cache2.get(A_C, "name"));
      assertEquals("Incorrect age for /a/c", FORTY, cache2.get(A_C, "age"));
View Full Code Here

      // remove the node - this will trigger NodeRemoved and NodeRemove(pre/post)
      cache.removeNode(key);

      // clean up before stopping  the cache
      CacheLoader cl = cache.getCacheLoaderManager().getCacheLoader();
      cl.remove(Fqn.fromString(EUROPE_NODE));

      // stop the cache
      cache.stop();
      m_server.removeNotificationListener(mgmt, listener);
View Full Code Here

      CacheSPI<Object, Object> cache2 = createCache("cache2", false, true, true);

      // Pause to give caches time to see each other
      TestingUtil.blockUntilViewsReceived(new CacheSPI[]{cache1, cache2}, 60000);

      CacheLoader loader = cache2.getCacheLoaderManager().getCacheLoader();

      assertNull("/a/b transferred to loader against policy", loader.get(A_B));

      assertNull("/a/b name transferred against policy", cache2.get(A_B, "name"));
      assertNull("/a/b age transferred against policy", cache2.get(A_B, "age"));
      assertNull("/a/c name transferred against policy", cache2.get(A_C, "name"));
      assertNull("/a/c age transferred against policy", cache2.get(A_C, "age"));

      createAndActivateRegion(cache2, Fqn.ROOT);

      assertEquals("Incorrect name from loader for /a/b", JOE, loader.get(A_B).get("name"));
      assertEquals("Incorrect age from loader for /a/b", TWENTY, loader.get(A_B).get("age"));
      assertEquals("Incorrect name from loader for /a/c", BOB, loader.get(A_C).get("name"));
      assertEquals("Incorrect age from loader for /a/c", FORTY, loader.get(A_C).get("age"));

      assertEquals("Incorrect name for /a/b", JOE, cache2.get(A_B, "name"));
      assertEquals("Incorrect age for /a/b", TWENTY, cache2.get(A_B, "age"));
      assertEquals("Incorrect name for /a/c", BOB, cache2.get(A_C, "name"));
      assertEquals("Incorrect age for /a/c", FORTY, cache2.get(A_C, "age"));
View Full Code Here

      CacheSPI<Object, Object> cache2 = createCache("cache2", false, true, true);

      // Pause to give caches time to see each other
      TestingUtil.blockUntilViewsReceived(new CacheSPI[]{cache1, cache2}, 60000);

      CacheLoader loader = cache2.getCacheLoaderManager().getCacheLoader();

      assertNull("/a/b transferred to loader against policy", loader.get(A_B));

      assertNull("/a/b name transferred against policy", cache2.get(A_B, "name"));
      assertNull("/a/b age transferred against policy", cache2.get(A_B, "age"));
      assertNull("/a/c name transferred against policy", cache2.get(A_C, "name"));
      assertNull("/a/c age transferred against policy", cache2.get(A_C, "age"));

      createAndActivateRegion(cache2, A_B);

      assertEquals("Incorrect name from loader for /a/b", JOE, loader.get(A_B).get("name"));
      assertEquals("Incorrect age from loader for /a/b", TWENTY, loader.get(A_B).get("age"));
      assertNull("/a/c transferred to loader against policy", loader.get(A_C));

      assertEquals("Incorrect name for /a/b", JOE, cache2.get(A_B, "name"));
      assertEquals("Incorrect age for /a/b", TWENTY, cache2.get(A_B, "age"));
      assertNull("/a/c name transferred against policy", cache2.get(A_C, "name"));
      assertNull("/a/c age transferred against policy", cache2.get(A_C, "age"));

      cache1.put(A_D, "name", JANE);

      assertNull("/a/d name transferred against policy", cache2.get(A_D, "name"));

      createAndActivateRegion(cache2, A_C);

      assertEquals("Incorrect name from loader for /a/b", JOE, loader.get(A_B).get("name"));
      assertEquals("Incorrect age from loader for /a/b", TWENTY, loader.get(A_B).get("age"));
      assertEquals("Incorrect name from loader for /a/c", BOB, loader.get(A_C).get("name"));
      assertEquals("Incorrect age from loader for /a/c", FORTY, loader.get(A_C).get("age"));

      assertEquals("Incorrect name for /a/b", JOE, cache2.get(A_B, "name"));
      assertEquals("Incorrect age for /a/b", TWENTY, cache2.get(A_B, "age"));
      assertEquals("Incorrect name for /a/c", BOB, cache2.get(A_C, "name"));
      assertEquals("Incorrect age for /a/c", FORTY, cache2.get(A_C, "age"));
      assertNull("/a/d name transferred against policy", cache2.get(A_D, "name"));

      createAndActivateRegion(cache2, A_D);

      assertEquals("Incorrect name from loader for /a/b", JOE, loader.get(A_B).get("name"));
      assertEquals("Incorrect age from loader for /a/b", TWENTY, loader.get(A_B).get("age"));
      assertEquals("Incorrect name from loader for /a/c", BOB, loader.get(A_C).get("name"));
      assertEquals("Incorrect age from loader for /a/c", FORTY, loader.get(A_C).get("age"));
      assertEquals("Incorrect name from loader for /a/d", JANE, loader.get(A_D).get("name"));

      assertEquals("Incorrect name for /a/b", JOE, cache2.get(A_B, "name"));
      assertEquals("Incorrect age for /a/b", TWENTY, cache2.get(A_B, "age"));
      assertEquals("Incorrect name for /a/c", BOB, cache2.get(A_C, "name"));
      assertEquals("Incorrect age for /a/c", FORTY, cache2.get(A_C, "age"));
      assertEquals("Incorrect name for /a/d", JANE, cache2.get(A_D, "name"));

      cache1.getRegion(A, false).deactivate();

      createAndActivateRegion(cache1, A_B);
      createAndActivateRegion(cache1, A_C);
      createAndActivateRegion(cache1, A_D);

      loader = cache1.getCacheLoaderManager().getCacheLoader();

      assertEquals("Incorrect name from loader for /a/b", JOE, loader.get(A_B).get("name"));
      assertEquals("Incorrect age from loader for /a/b", TWENTY, loader.get(A_B).get("age"));
      assertEquals("Incorrect name from loader for /a/c", BOB, loader.get(A_C).get("name"));
      assertEquals("Incorrect age from loader for /a/c", FORTY, loader.get(A_C).get("age"));
      assertEquals("Incorrect name from loader for /a/d", JANE, loader.get(A_D).get("name"));

      assertEquals("Incorrect name for /a/b", JOE, cache1.get(A_B, "name"));
      assertEquals("Incorrect age for /a/b", TWENTY, cache1.get(A_B, "age"));
      assertEquals("Incorrect name for /a/c", BOB, cache1.get(A_C, "name"));
      assertEquals("Incorrect age for /a/c", FORTY, cache1.get(A_C, "age"));
View Full Code Here

TOP

Related Classes of org.jboss.cache.loader.CacheLoader

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.