Ejemplo n.º 1
0
  //    @Test
  public void testMultiThreads() throws IOException, InterruptedException {
    RedisProcess redis1 = redisTestMultilockInstance(6320);

    Config config1 = new Config();
    config1.useSingleServer().setAddress("127.0.0.1:6320");
    RedissonClient client = Redisson.create(config1);

    RLock lock1 = client.getLock("lock1");
    RLock lock2 = client.getLock("lock2");
    RLock lock3 = client.getLock("lock3");

    Thread t =
        new Thread() {
          public void run() {
            RedissonMultiLock lock = new RedissonMultiLock(lock1, lock2, lock3);
            lock.lock();

            try {
              Thread.sleep(3000);
            } catch (InterruptedException e) {
            }

            lock.unlock();
          };
        };
    t.start();
    t.join(1000);

    RedissonMultiLock lock = new RedissonMultiLock(lock1, lock2, lock3);
    lock.lock();
    lock.unlock();

    assertThat(redis1.stop()).isEqualTo(0);
  }
Ejemplo n.º 2
0
  @Test
  public void testKryo() {
    Config config = createConfig();
    config.setCodec(kryoCodec);
    redisson = Redisson.create(config);

    test();
  }
Ejemplo n.º 3
0
  @Test
  public void testJson() {
    Config config = createConfig();
    config.setCodec(jsonCodec);
    redisson = Redisson.create(config);

    test();
  }
Ejemplo n.º 4
0
  @Test
  public void testSnappy() {
    Config config = createConfig();
    config.setCodec(snappyCodec);
    redisson = Redisson.create(config);

    test();
  }
Ejemplo n.º 5
0
  @Test
  public void testMsgPack() {
    Config config = createConfig();
    config.setCodec(msgPackCodec);
    redisson = Redisson.create(config);

    test();
  }
Ejemplo n.º 6
0
  @Test
  public void testLZ4() {
    Config config = createConfig();
    config.setCodec(lz4Codec);
    redisson = Redisson.create(config);

    test();
  }
Ejemplo n.º 7
0
  @Test
  public void testCbor() {
    Config config = createConfig();
    config.setCodec(cborCodec);
    redisson = Redisson.create(config);

    test();
  }
Ejemplo n.º 8
0
 @Test(expected = WriteRedisConnectionException.class)
 public void testSer() {
   Config config = new Config();
   config.useSingleServer().setAddress("127.0.0.1:6379");
   config.setCodec(new SerializationCodec());
   RedissonClient r = Redisson.create(config);
   r.getMap("test").put("1", new Dummy());
 }
Ejemplo n.º 9
0
 private RedissonClient createClient(NioEventLoopGroup group, String host) {
   Config config1 = new Config();
   config1.useSingleServer().setAddress(host);
   config1.setEventLoopGroup(group);
   RedissonClient client1 = Redisson.create(config1);
   client1.getKeys().flushdb();
   return client1;
 }
Ejemplo n.º 10
0
  @Test
  public void testShutdown() {
    Config config = new Config();
    config.useSingleServer().setAddress("127.0.0.1:6379");

    RedissonClient r = Redisson.create(config);
    Assert.assertFalse(r.isShuttingDown());
    Assert.assertFalse(r.isShutdown());
    r.shutdown();
    Assert.assertTrue(r.isShuttingDown());
    Assert.assertTrue(r.isShutdown());
  }
Ejemplo n.º 11
0
  @Test
  public void testListOfStrings() {
    Config config = createConfig();
    config.setCodec(new JsonJacksonCodec());
    redisson = Redisson.create(config);

    RMap<String, List<String>> map = redisson.getMap("list of strings", jsonListOfStringCodec);
    map.put("foo", new ArrayList<String>(Arrays.asList("bar")));

    RMap<String, List<String>> map2 = redisson.getMap("list of strings", jsonListOfStringCodec);

    assertThat(map2).isEqualTo(map);
  }
Ejemplo n.º 12
0
 @Override
 public <V> List<RBucket<V>> find(String pattern) {
   Collection<String> keys =
       commandExecutor.get(
           commandExecutor.<List<String>, String>readAllAsync(RedisCommands.KEYS, pattern));
   List<RBucket<V>> buckets = new ArrayList<RBucket<V>>(keys.size());
   for (String key : keys) {
     if (key == null) {
       continue;
     }
     buckets.add(redisson.<V>getBucket(key, codec));
   }
   return buckets;
 }
Ejemplo n.º 13
0
  @Test
  public void testConnectionListener() throws IOException, InterruptedException, TimeoutException {

    Process p = runRedis();

    final Waiter onConnectWaiter = new Waiter();
    final Waiter onDisconnectWaiter = new Waiter();

    Config config = new Config();
    config.useSingleServer().setAddress("127.0.0.1:6319").setFailedAttempts(1).setRetryAttempts(1);
    config.setConnectionListener(
        new ConnectionListener() {

          @Override
          public void onDisconnect(InetSocketAddress addr) {
            onDisconnectWaiter.assertEquals(new InetSocketAddress("127.0.0.1", 6319), addr);
            onDisconnectWaiter.resume();
          }

          @Override
          public void onConnect(InetSocketAddress addr) {
            onConnectWaiter.assertEquals(new InetSocketAddress("127.0.0.1", 6319), addr);
            onConnectWaiter.resume();
          }
        });

    RedissonClient r = Redisson.create(config);
    r.getBucket("1").get();

    p.destroy();
    Assert.assertEquals(1, p.waitFor());

    try {
      r.getBucket("1").get();
    } catch (Exception e) {
    }

    p = runRedis();

    r.getBucket("1").get();

    r.shutdown();

    p.destroy();
    Assert.assertEquals(1, p.waitFor());

    onConnectWaiter.await(1, TimeUnit.SECONDS, 2);
    onDisconnectWaiter.await();
  }