They are Singletons.

Check this snippet from Server. The Server singleton has the reference to the 
sender and receiver singletons. We pass the references via loadApp(). Does this 
make sense?

/* After some indirection we get the injector. */
        injector = Guice.createInjector(module);

        Sender sender = injector.getInstance(Sender.class);
        Receiver receiver = injector.getInstance(Receiver.class);

        // File[] s4rFiles = new File(appsDir).listFiles(new 
PatternFilenameFilter("\\w+\\.s4r"));
        File[] s4rFiles = new File(appsDir).listFiles(new 
PatternFilenameFilter(".+.s4r"));
        for (File s4rFile : s4rFiles) {
            logger.info("Loading app: " + s4rFile.getPath());
            loadApp(sender, receiver, s4rFile);
        }

        /* Now init + start apps. TODO: implement dynamic loading/unloading 
using ZK. */
        for (App app : apps) {
            logger.info("Starting app " + app.getClass().getName());
            app.init();
            app.start();
        }



Leo Neumeyer (@leoneu)



On Nov 3, 2011, at 10:20 AM, kishore g wrote:

> Hi,
> 
> Will creation of every App create a new instance of sender/receiver which
> creates Assignment and Topology ?. How to share these between Apps
> 
> thanks,
> Kishore G

Reply via email to