Package org.mortbay.cometd

Examples of org.mortbay.cometd.AbstractBayeux


        ServletHolder demo=context.addServlet(CometdDemoServlet.class, "/demo");
        demo.setInitOrder(3);
       
        server.start();
       
        final AbstractBayeux bayeux = ((ContinuationCometdServlet)comet.getServlet()).getBayeux();
       
        bayeux.setSecurityPolicy(new AbstractBayeux.DefaultPolicy()
        {
            public boolean canHandshake(Message message)
            {
                if (_testHandshakeFailure<0)
                {
                    _testHandshakeFailure++;
                    return false;
                }
                return true;
            }   
        });
       
        // Demo lazy messages
        if (Boolean.getBoolean("LAZY"))
        {
            bayeux.addExtension(new Extension()
            {
                public Message rcv(Client from, Message message)
                {
                    if (message.getChannel().startsWith("/chat/") && message.getData()!=null && message.getData().toString().indexOf("lazy")>=0)
                        ((MessageImpl)message).setLazy(true);
                    return message;
                }
                public Message rcvMeta(Client from, Message message)
                {
                    return message;
                }
                public Message send(Client from, Message message)
                {
                    return message;
                }
                public Message sendMeta(Client from, Message message)
                {
                    return message;
                }
            });
        }
       
        // Demo lazy messages
        if (Boolean.getBoolean("LAZYCHAT"))
        {
            final ChannelImpl chat_demo = (ChannelImpl)bayeux.getChannel("/chat/demo",true);
            chat_demo.setLazy(true);
            chat_demo.setPersistent(true);
           
            Timer timer = new Timer();
            timer.schedule(new TimerTask()
            {
                public void run()
                {
                    chat_demo.publish(null,new JSON.Literal("{\"user\":\"TICK\",\"chat\":\""+new Date()+"\"}"),null);
                }
            },2000,2000);
        }
       
        if (Boolean.getBoolean("STATS"))
        {
            StatisticsExtension ext = new StatisticsExtension();
            ext.setStatsRequestKeys(new String[]{"chat"});
            ext.setStatsRequestSentinel("//stats");
            ext.setStatsRequestChannel("/chat/demo");   
            ext.setStatsResultSentinel("//stats-results");
            ext.setStatsConfirmSentinel("//stats-confirm");
            ext.setProbeChannel("/chat/demo");
            ext.setProbeSentinel("//stats-probe");
            ext.setProbeReplySentinel("//stats-reply");
            ext.setProbeReplyChannel("/chat/demo");
            ext.setProbeReplyKeys(new String[]{"chat"});
          
            bayeux.addExtension(ext);
        }
    }
View Full Code Here


    }

    /* ------------------------------------------------------------ */
    public void testClient() throws Exception
    {
        AbstractBayeux _bayeux = _cometd.getBayeux();

        final Exchanger<Object> exchanger = new Exchanger<Object>();

        BayeuxClient client = new BayeuxClient(_httpClient,"http://localhost:"+_server.getConnectors()[0].getLocalPort()+"/cometd")
        {
View Full Code Here

    /* ------------------------------------------------------------ */
    public void testPerf() throws Exception
    {
        Runtime.getRuntime().addShutdownHook(new DumpThread());
        AbstractBayeux bayeux = _cometd.getBayeux();

        final int rooms=_stress?100:20;
        final int publish=_stress?4000:1000;
        final int batch=_stress?10:5;
        final int pause=_stress?50:200;
View Full Code Here

    }

    @Override
    public void processReplyTo(MuleEvent event, MuleMessage returnMessage, Object replyTo) throws MuleException
    {
        AbstractBayeux bayeux = ((BayeuxAware)connector).getBayeux();
        Channel channel = bayeux.getChannel(replyTo.toString(), false);
        if(channel==null)
        {
            logger.warn("No ajax Channel: " + replyTo + ". Maybe the client unregistered interest.");
            return;
        }
View Full Code Here

        }
        else
        {
            //We're bound to an existing servlet container, just grab the Bayeux object from the connector, which  would have been
            //set by the {@link MuleAjaxServlet}
            AbstractBayeux b = ((AjaxServletConnector) endpoint.getConnector()).getBayeux();
            if (b == null)
            {
                long start = System.currentTimeMillis();
                //Not the correct use for response time out but if fine for this purpose
                long timeout = start + endpoint.getResponseTimeout();
View Full Code Here

        context.addServlet("org.mortbay.jetty.servlet.DefaultServlet", "/");
        context.addEventListener(new BayeuxServicesListener());
       
        server.start();
       
        AbstractBayeux bayeux = cometd_servlet.getBayeux();
       
        bayeux.setSecurityPolicy(new AbstractBayeux.DefaultPolicy(){
            public boolean canHandshake(Message message)
            {
                if (_testHandshakeFailure<0)
                {
                    _testHandshakeFailure++;
                    return false;
                }
                return true;
            }
           
        });
       
        while (true)
        {
            Thread.sleep(2000);
            Set<String> ids=bayeux.getClientIDs();
            ClientImpl[] clients=new ClientImpl[ids.size()];
            int i=0;
            for (String id : ids)
            {
                clients[i]=(ClientImpl)bayeux.getClient(id);
                i++;
            }
            i=0;
        }
    }
View Full Code Here

   * Initialize the Bayeux server
   */
  @Override
  public void init() throws ServletException {
    super.init();
    AbstractBayeux bayeux=(AbstractBayeux)getServletContext().getAttribute(Bayeux.DOJOX_COMETD_BAYEUX);
    new PersevereService(bayeux);
  }
View Full Code Here

                connectors.put(connectorKey, connectorRef);
            } else {
                connectorRef.increment();
            }
            AbstractBayeux bayeux = connectorRef.servlet.getBayeux();
            bayeux.setJSONCommented(endpoint.isJsonCommented());
            prodcon.setBayeux(bayeux);
        }
    }
View Full Code Here

                connectors.put(connectorKey, connectorRef);
            } else {
                connectorRef.increment();
            }
            AbstractBayeux bayeux = connectorRef.servlet.getBayeux();
            bayeux.setJSONCommented(endpoint.isJsonCommented());
            prodcon.setBayeux(bayeux);
        }
    }
View Full Code Here

        context.addServlet("org.mortbay.jetty.servlet.DefaultServlet", "/");
        context.addEventListener(new BayeuxServicesListener());
       
        server.start();
       
        AbstractBayeux bayeux = cometd_servlet.getBayeux();
        bayeux.addExtension(new TimesyncExtension());
       
        bayeux.setSecurityPolicy(new AbstractBayeux.DefaultPolicy(){
            public boolean canHandshake(Message message)
            {
                if (_testHandshakeFailure<0)
                {
                    _testHandshakeFailure++;
                    return false;
                }
                return true;
            }
           
        });
       
        while (true)
        {
            Thread.sleep(2000);
            Set<String> ids=bayeux.getClientIDs();
            ClientImpl[] clients=new ClientImpl[ids.size()];
            int i=0;
            for (String id : ids)
            {
                clients[i]=(ClientImpl)bayeux.getClient(id);
                i++;
            }
            i=0;
        }
    }
View Full Code Here

TOP

Related Classes of org.mortbay.cometd.AbstractBayeux

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.