## org.jgroups.demos
Class RelayDemoRpc

    java.lang.Object
      org.jgroups.ReceiverAdapter
          org.jgroups.demos.RelayDemoRpc

All Implemented Interfaces:
  MembershipListener, MessageListener, Receiver

    public class RelayDemoRpc

extends ReceiverAdapter

Demos RELAY. Create 2 *separate* clusters with RELAY as top protocol. Each RELAY has bridge_props="tcp.xml" (tcp.xml needs to be present). Then start 2 instances in the first cluster and 2 instances in the second cluster. They should find each other, and typing in a window should send the text to everyone, plus we should get 4 responses.

Author:
  Bela Ban

Field Summary
`protected JChannel` `ch`
`protected RpcDispatcher` `disp`
`protected Address` `local_addr`
`protected View` `view`

Constructor Summary
`RelayDemoRpc()`

Method Summary
`static java.lang.String` `handleMessage(java.lang.String msg, Address sender)`
`static void` `main(java.lang.String[] args)`
`void` `start(java.lang.String props, java.lang.String name)`
`void` `viewAccepted(View new_view)` Called when a change in membership has occurred.

Methods inherited from class org.jgroups.ReceiverAdapter
`block, getState, receive, setState, suspect`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### ch

    protected JChannel ch

### disp

    protected RpcDispatcher disp

### local_addr

    protected Address local_addr

### view

    protected View view

Constructor Detail

### RelayDemoRpc

    public RelayDemoRpc()

Method Detail

### main

    public static void main(java.lang.String[] args)
                     throws java.lang.Exception

  Throws:
    `java.lang.Exception`

### start

    public void start(java.lang.String props,
                      java.lang.String name)
               throws java.lang.Exception

  Throws:
    `java.lang.Exception`

### handleMessage

    public static java.lang.String handleMessage(java.lang.String msg,
                                                 Address sender)

### viewAccepted

    public void viewAccepted(View new_view)

  Description copied from interface: `MembershipListener`
  Called when a change in membership has occurred. No long running actions or sending of messages should be done in this callback. If some long running action needs to be performed, it should be done in a separate thread.

  Note that on reception of the first view (a new member just joined), the channel will not yet be in the connected state. This only happens when `Channel.connect(String)` returns.

  Specified by:
    `viewAccepted` in interface `MembershipListener`
  Overrides:
    `viewAccepted` in class `ReceiverAdapter`

Copyright © 1998-2009 Bela Ban / Red Hat. All Rights Reserved.