Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import org.jgroups.JChannel;
- import org.jgroups.Message;
- import org.jgroups.protocols.*;
- import org.jgroups.protocols.pbcast.FLUSH;
- import org.jgroups.protocols.pbcast.GMS;
- import org.jgroups.protocols.pbcast.NAKACK2;
- import org.jgroups.protocols.pbcast.STABLE;
- import org.jgroups.stack.ProtocolStack;
- import pl.edu.agh.dsrg.sr.protos.BankOperationProtos;
- import java.util.Random;
- /**
- * Created by lab on 3/21/2019.
- */
- public class SimpleChat {
- static public void main(String[] args) throws Exception {
- System.setProperty("java.net.preferIPv4Stack", "true");
- JChannel channel = new JChannel(false);
- ProtocolStack stack = new ProtocolStack();
- stack.addProtocol(new UDP())
- .addProtocol(new PING())
- .addProtocol(new MERGE3())
- .addProtocol(new FD_SOCK())
- .addProtocol(new FD_ALL().setValue("timeout", 12000).setValue("interval", 3000))
- .addProtocol(new VERIFY_SUSPECT())
- .addProtocol(new BARRIER())
- .addProtocol(new NAKACK2())
- .addProtocol(new UNICAST3())
- .addProtocol(new STABLE())
- .addProtocol(new GMS())
- .addProtocol(new UFC())
- .addProtocol(new MFC())
- .addProtocol(new FRAG2())
- .addProtocol(new SEQUENCER())
- .addProtocol(new FLUSH());
- channel.setProtocolStack(stack);
- stack.init();
- channel.connect("operation");
- for (int i = 0; i < 2000; ++i) {
- BankOperationProtos.BankOperation.OperationType[] types = BankOperationProtos.BankOperation.OperationType.values();
- BankOperationProtos.BankOperation operation = BankOperationProtos.BankOperation.newBuilder()
- .setValue(Math.random() / 100 + 1.0)
- .setType(types[new Random().nextInt(types.length)]).build();
- Message msg = new Message(null, null, operation.toByteArray());
- channel.send(msg);
- Thread.sleep((long) (Math.random() * 10));
- }
- System.out.println("Sleep");
- Thread.sleep(5 * 60 * 1000);
- channel.close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement