All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.frameworkset.remote.RpcDispatcherAnycastServerObject Maven / Gradle / Ivy

Go to download

bboss is a j2ee framework include aop/ioc,mvc,persistent,taglib,rpc,event ,bean-xml serializable ,schedle and so on.http://www.bbossgroups.com

The newest version!
package org.frameworkset.remote;

import java.util.ArrayList;
import java.util.List;

import org.frameworkset.event.Event;
import org.jgroups.Address;
import org.jgroups.JChannel;
import org.jgroups.ReceiverAdapter;
import org.jgroups.blocks.RequestOptions;
import org.jgroups.blocks.ResponseMode;
import org.jgroups.blocks.RpcDispatcher;

public class RpcDispatcherAnycastServerObject extends ReceiverAdapter {
   
    private final JChannel c;
    private final RpcDispatcher d;

    public RpcDispatcherAnycastServerObject(JChannel channel,EventRemoteService eventService) throws Exception {
        c=channel;
        d=new RpcDispatcher(c, eventService);
        d.setMembershipListener(this);
        d.setStateListener(this);
    }

   

    public void callRemote( boolean excludeSelf,String eventfqn,Event event) throws Exception {
        // we need to copy the vector, otherwise the modification below will throw an exception because the underlying
        // vector is unmodifiable
        List
v=new ArrayList
(c.getView().getMembers()); if(excludeSelf) { v.remove(c.getAddress()); d.callRemoteMethods(v, "remoteEventChange", new Object[]{}, new Class[]{String.class,Event.class}, new RequestOptions(ResponseMode.GET_NONE, 0)); } else { d.callRemoteMethods(null, "remoteEventChange", new Object[]{}, new Class[]{String.class,Event.class}, new RequestOptions(ResponseMode.GET_NONE, 0)); } } public void callRemote( String eventfqn,Event event) throws Exception { callRemote( false, eventfqn,event); } public void shutdown() { c.close(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy