Package examples.connectivity

Source Code of examples.connectivity.Client

/**************************************************************************************
* Copyright (c) Jonas Bon�r, Alexandre Vasseur. All rights reserved.                 *
* http://aspectwerkz.codehaus.org                                                    *
* ---------------------------------------------------------------------------------- *
* The software in this package is published under the terms of the QPL license       *
* a copy of which has been included with this distribution in the license.txt file.  *
**************************************************************************************/
package examples.connectivity;

import org.codehaus.aspectwerkz.connectivity.RemoteProxy;

/**
* @author <a href="mailto:jboner@codehaus.org">Jonas Bon�r</a>
*/
public class Client {

    public static void main(String[] args) {
        run();
    }

    /**
     * This example shows two ways of using the remote proxy feature:
     *
     * 1. It creates a client proxy that creates a matching instance on the server. The client
     * now has seamless access this new instance on the server.
     *
     * 2. The instance on the server creates a new proxy to another specific instance on and
     * sends this proxy to the client. The client then have access to this specific instance.
     * (Proxy created on the server-side using:
     * <code>RemoteProxy proxy = RemoteProxy.createServerProxy(myInstance, "localhost", 7777);</code>)
     */
    private static void run() {

        // 1)
        // creates a new remote proxy for the TestImpl1 class which maps to an instance of this
        // class on the server
        RemoteProxy proxy1 = RemoteProxy.createClientProxy(
                new String[]{"examples.connectivity.Test1"},
                "examples.connectivity.Test1Impl",
                "localhost",
                7777
        );
        // retrieves the proxy the the TestImpl1 instance
        Test1 mixin1 = (Test1)proxy1.getInstance();

        // 2)
        // retrieve the proxy to a specific instance created on the server
        RemoteProxy proxy2 = mixin1.getTest1();
        // retrieves the proxy the the TestImpl2 instance
        Test2 mixin2 = (Test2)proxy2.getInstance();

        // 3)
        // invoke methods on the proxies (executed on the server)
        System.out.println("Mixin1 says: " + mixin1.test1());
        System.out.println("Mixin2 says: " + mixin2.test2());

        // 4)
        // close the proxies (close() must always be called)
        proxy1.close();
        proxy2.close();
    }
}
TOP

Related Classes of examples.connectivity.Client

TOP
Copyright © 2018 www.massapi.com. 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.