}
protected static JChannel createChannel() throws Exception {
JChannel ch=new JChannel(false);
ProtocolStack stack=new ProtocolStack();
ch.setProtocolStack(stack);
stack.addProtocol(new SHARED_LOOPBACK().setValue("oob_thread_pool_rejection_policy", "run")
.setValue("thread_pool_rejection_policy", "run")
.setValue("thread_pool_queue_max_size", 100000))
.addProtocol(new PING())
.addProtocol(new MERGE2())
.addProtocol(new FD_SOCK())
.addProtocol(new VERIFY_SUSPECT())
.addProtocol(new BARRIER())
.addProtocol(new NAKACK().setValue("use_mcast_xmit", false).setValue("discard_delivered_msgs", true))
.addProtocol(new UNICAST2().setValue("stable_interval", 10000).setValue("max_bytes", 50000))
.addProtocol(new STABLE().setValue("max_bytes", 50000))
.addProtocol(new GMS().setValue("print_local_addr", false))
.addProtocol(new UFC().setValue("max_credits", 2000000))
.addProtocol(new MFC().setValue("max_credits", 2000000))
.addProtocol(new FRAG2());
stack.init();
return ch;
}