Package org.cometd.bayeux.client

Examples of org.cometd.bayeux.client.ClientSessionChannel


    {
        client.batch(new Runnable()
        {
            public void run()
            {
                ClientSessionChannel chatChannel = client.getChannel("/chat/demo");
                chatChannel.subscribe(chatListener);

                ClientSessionChannel membersChannel = client.getChannel("/members/demo");
                membersChannel.subscribe(membersListener);

                Map<String, Object> data = new HashMap<>();
                data.put("user", nickname);
                data.put("membership", "join");
                data.put("chat", nickname + " has joined");
View Full Code Here


        boolean processed = processor.process(service);
        assertTrue(processed);

        LocalSession remote = bayeuxServer.newLocalSession("remoteCall");
        remote.handshake();
        ClientSessionChannel channel = remote.getChannel(Channel.SERVICE + RemoteCallWithFailureService.CHANNEL);
        final CountDownLatch latch = new CountDownLatch(1);
        channel.addListener(new ClientSessionChannel.MessageListener()
        {
            @Override
            public void onMessage(ClientSessionChannel channel, Message message)
            {
                if (message.isPublishReply())
                    return;
                assertFalse(message.isSuccessful());
                assertEquals(failure, message.getData());
                latch.countDown();
            }
        });
        channel.publish(failure);

        assertTrue(latch.await(5, TimeUnit.SECONDS));
    }
View Full Code Here

        boolean processed = processor.process(service);
        assertTrue(processed);

        LocalSession remote = bayeuxServer.newLocalSession("remoteCall");
        remote.handshake();
        ClientSessionChannel channel = remote.getChannel(Channel.SERVICE + RemoteCallWithUncaughtExceptionService.CHANNEL);
        final CountDownLatch latch = new CountDownLatch(1);
        channel.addListener(new ClientSessionChannel.MessageListener()
        {
            @Override
            public void onMessage(ClientSessionChannel channel, Message message)
            {
                if (message.isPublishReply())
                    return;
                assertFalse(message.isSuccessful());
                assertNotNull(message.getData());
                latch.countDown();
            }
        });
        channel.publish("throw");

        assertTrue(latch.await(5, TimeUnit.SECONDS));
    }
View Full Code Here

    }

    private void broadcastMembers(String room, Set<String> members)
    {
        // Broadcast the new members list
        ClientSessionChannel channel = _session.getLocalSession().getChannel("/members/"+room);
        channel.publish(members);
    }
View Full Code Here

            OortComet oortComet = _oort.findComet(oortURL);
            if (_logger.isDebugEnabled())
                _logger.debug("Comet joined: {} with {}", oortURL, oortComet);
            if (oortComet != null)
            {
                ClientSessionChannel channel = oortComet.getChannel(generateSetiChannel(generateSetiId(oortURL)));
                Set<String> userIds = getAssociatedUserIds();
                if (_logger.isDebugEnabled())
                    _logger.debug("Pushing associated users {} to comet {}", userIds, oortURL);
                channel.publish(new SetiPresence(true, userIds));
            }
        }
View Full Code Here

            {
                System.err.println(" <" + message + " @ " + channel);
                publishLatch.countDown();
            }
        };
        ClientSessionChannel aChannel = client.getChannel("/a/channel");
        aChannel.subscribe(subscriber);
        Assert.assertTrue(subscribeLatch.await(5, TimeUnit.SECONDS));

        String data = "data";
        aChannel.publish(data);
        Assert.assertTrue(publishLatch.await(5, TimeUnit.SECONDS));

        aChannel.unsubscribe(subscriber);
        Assert.assertTrue(unsubscribeLatch.await(5, TimeUnit.SECONDS));

        disconnectBayeuxClient(client);
    }
View Full Code Here

        final AtomicInteger messages = new AtomicInteger();
        client.batch(new Runnable()
        {
            public void run()
            {
                ClientSessionChannel channel = client.getChannel(channelName);
                channel.subscribe(new ClientSessionChannel.MessageListener()
                {
                    public void onMessage(ClientSessionChannel channel, Message message)
                    {
                        messages.incrementAndGet();
                        latch.get().countDown();
                    }
                });
                channel.publish(new HashMap<String, Object>());
            }
        });

        // Wait until subscription is acknowledged
        Assert.assertTrue(latch.get().await(5, TimeUnit.SECONDS));
View Full Code Here

                else if (wasConnected && !connected.get())
                    System.err.printf("BayeuxClient unconnected %s%n", message);
            }
        });
        String channelName = "/test";
        ClientSessionChannel channel = client.getChannel(channelName);
        channel.addListener(new ClientSessionChannel.MessageListener()
        {
            public void onMessage(ClientSessionChannel channel, Message message)
            {
                if (!message.isSuccessful())
                    publishLatch.get().countDown();
            }
        });

        client.handshake();
        assertTrue(connectLatch.await(5, TimeUnit.SECONDS));

        // Wait for a second connect to be issued
        Thread.sleep(1000);

        long networkDown = maxInterval / 2;
        client.setNetworkDown(networkDown);

        // Publish, it must succeed
        publishLatch.set(new CountDownLatch(1));
        channel.publish(new HashMap<>());
        assertTrue(publishLatch.get().await(5, TimeUnit.SECONDS));

        // Wait for the connect to return
        // We already slept a bit before, so we are sure that the connect returned
        Thread.sleep(timeout);

        // Now we are simulating the network is down
        // Be sure we are disconnected
        assertFalse(connected.get());

        // Another publish, it must fail
        publishLatch.set(new CountDownLatch(1));
        channel.publish(new HashMap<>());
        assertTrue(publishLatch.get().await(5, TimeUnit.SECONDS));

        // Sleep to allow the next connect to be issued
        Thread.sleep(networkDown);

        // Now another connect has been sent (delayed by 'networkDown' ms)
        Thread.sleep(timeout);
        assertTrue(connected.get());

        // We should be able to publish now
        publishLatch.set(new CountDownLatch(1));
        channel.publish(new HashMap<>());
        assertFalse(publishLatch.get().await(1, TimeUnit.SECONDS));

        disconnectBayeuxClient(client);
    }
View Full Code Here

                assertTrue(message.isSuccessful());
                latch.countDown();
            }
        });
        final CountDownLatch failLatch = new CountDownLatch(1);
        ClientSessionChannel channel = client.getChannel(channelName);
        channel.addListener(new ClientSessionChannel.MessageListener()
        {
            public void onMessage(ClientSessionChannel channel, Message message)
            {
                assertFalse(message.isSuccessful());
                failLatch.countDown();
            }
        });
        client.handshake();
        assertTrue(client.waitFor(5000, BayeuxClient.State.CONNECTED));

        final CountDownLatch publishLatch = new CountDownLatch(1);
        channel.subscribe(new ClientSessionChannel.MessageListener()
        {
            public void onMessage(ClientSessionChannel channel, Message message)
            {
                publishLatch.countDown();
            }
        });

        // Wait to be subscribed
        assertTrue(latch.await(5, TimeUnit.SECONDS));

        // Publish will fail
        channel.publish(new HashMap<>());
        assertTrue(failLatch.await(5, TimeUnit.SECONDS));
        assertFalse(publishLatch.await(1, TimeUnit.SECONDS));

        assertTrue(client.waitFor(5000, BayeuxClient.State.DISCONNECTED));
    }
View Full Code Here

                    return false;
                }
            }
        };
        final CountDownLatch publishLatch = new CountDownLatch(1);
        ClientSessionChannel channel = client.getChannel(channelName);
        channel.addListener(new ClientSessionChannel.MessageListener()
        {
            public void onMessage(ClientSessionChannel channel, Message message)
            {
                if (!message.isSuccessful())
                    publishLatch.countDown();
            }
        });
        client.handshake();

        assertTrue(client.waitFor(5000, BayeuxClient.State.UNCONNECTED));

        channel.publish(new HashMap<>());
        assertTrue(publishLatch.await(5, TimeUnit.SECONDS));

        disconnectBayeuxClient(client);
    }
View Full Code Here

TOP

Related Classes of org.cometd.bayeux.client.ClientSessionChannel

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.