votingadaptertest.java

来自「JGRoups源码」· Java 代码 · 共 139 行

JAVA
139
字号
package org.jgroups.blocks;import junit.framework.Test;import junit.framework.TestCase;import junit.framework.TestSuite;import org.jgroups.JChannel;public class VotingAdapterTest extends TestCase {    public static final String SERVER_PROTOCOL_STACK = ""            + "UDP(mcast_addr=228.3.11.76;mcast_port=12345;ip_ttl=1;"            + "mcast_send_buf_size=150000;mcast_recv_buf_size=80000;down_thread=false)"//        + "JMS(topicName=topic/testTopic;cf=UILConnectionFactory;"//        + "jndiCtx=org.jnp.interfaces.NamingContextFactory;"//        + "providerURL=localhost;ttl=10000)"            + ":PING(timeout=500;num_initial_members=1;down_thread=false;up_thread=false)"            + ":FD(down_thread=false;up_thread=false)"            + ":VERIFY_SUSPECT(timeout=1500;down_thread=false;up_thread=false)"            + ":pbcast.NAKACK(gc_lag=50;retransmit_timeout=300,600,1200,2400,4800;down_thread=false)"            + ":FRAG(frag_size=4096;down_thread=false)"            + ":UNICAST(timeout=5000)"            + ":pbcast.STABLE(desired_avg_gossip=200;down_thread=false;up_thread=false)"            + ":pbcast.GMS(join_timeout=5000;join_retry_timeout=1000;"            +     "shun=false;print_local_addr=false;down_thread=true;up_thread=true)"            //+ ":SPEED_LIMIT(down_queue_limit=10)"            + ":pbcast.STATE_TRANSFER(down_thread=false)"            ;    public VotingAdapterTest(String testName) {            super(testName);    }    public static Test suite() {            return new TestSuite(VotingAdapterTest.class);    }        private JChannel channel1;    private JChannel channel2;    protected VotingAdapter adapter1;    protected VotingAdapter adapter2;    protected TestVoteChannelListener listener1;    protected TestVoteChannelListener listener2;    protected TestVoteChannelListener listener3;    protected TestVoteChannelListener listener4;    protected static            boolean logConfigured;    public void setUp() throws Exception {                listener1 = new TestVoteChannelListener(true);        listener2 = new TestVoteChannelListener(true);        listener3 = new TestVoteChannelListener(false);        listener4 = new TestVoteChannelListener(false);        channel1 = new JChannel(SERVER_PROTOCOL_STACK);        adapter1 = new VotingAdapter(channel1);                channel1.connect("voting");        // give some time for the channel to become a coordinator		try {			Thread.sleep(1000);		} catch(Exception ex) {		}                channel2 = new JChannel(SERVER_PROTOCOL_STACK);        adapter2 = new VotingAdapter(channel2);                channel2.connect("voting");                try {            Thread.sleep(1000);        }        catch (InterruptedException ex) {        }    }    public void tearDown() throws Exception {        channel2.close();                try {            Thread.sleep(1000);        }        catch (InterruptedException ex) {        }                        channel1.close();    }    public void testVoteAll() throws Exception {            adapter1.addVoteListener(listener1);        adapter2.addVoteListener(listener2);        boolean voting1 = adapter1.vote("object1", VotingAdapter.VOTE_ALL, 1000);            assertTrue("Result of voting1 should be 'true'.", voting1);        adapter1.addVoteListener(listener3);        boolean voting2 = adapter1.vote("object2", VotingAdapter.VOTE_ALL, 1000);            assertTrue("Result of voting2 should be 'false'.", !voting2);            }    /**     * This class always vote according to the parameter passed on the     * object creation.     */    public static class TestVoteChannelListener implements VotingListener {            private boolean vote;            public TestVoteChannelListener(boolean vote) {                    this.vote = vote;            }            public boolean vote(Object decree) {                    return vote;            }    }    public static void main(String[] args) {	junit.textui.TestRunner.run(suite());    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?