org.jgroups.util.Util.pickRandomElement()方法的使用及代码示例

x33g5p2x  于2022-02-01 转载在 其他  
字(5.9k)|赞(0)|评价(0)|浏览(190)

本文整理了Java中org.jgroups.util.Util.pickRandomElement()方法的一些代码示例,展示了Util.pickRandomElement()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Util.pickRandomElement()方法的具体详情如下:
包路径:org.jgroups.util.Util
类名称:Util
方法名:pickRandomElement

Util.pickRandomElement介绍

暂无

代码示例

代码示例来源:origin: wildfly/wildfly

  1. private Address pickTarget() {
  2. return Util.pickRandomElement(dests);
  3. }

代码示例来源:origin: wildfly/wildfly

  1. /**
  2. * Applies action to a randomly picked RouterStub that's connected
  3. * @param action
  4. */
  5. public void forAny(Consumer<RouterStub> action) {
  6. while(!stubs.isEmpty()) {
  7. RouterStub stub=Util.pickRandomElement(stubs);
  8. if(stub != null && stub.isConnected()) {
  9. action.accept(stub);
  10. return;
  11. }
  12. }
  13. }

代码示例来源:origin: wildfly/wildfly

  1. protected void retransmit(SeqnoList missing_msgs, final Address sender, boolean multicast_xmit_request) {
  2. Address dest=(multicast_xmit_request || this.use_mcast_xmit_req)? null : sender; // to whom do we send the XMIT request ?
  3. if(xmit_from_random_member && !local_addr.equals(sender)) {
  4. Address random_member=Util.pickRandomElement(members);
  5. if(random_member != null && !local_addr.equals(random_member))
  6. dest=random_member;
  7. }
  8. Message retransmit_msg=new Message(dest).setBuffer(Util.streamableToBuffer(missing_msgs))
  9. .setFlag(Message.Flag.OOB, Message.Flag.INTERNAL)
  10. .putHeader(this.id, NakAckHeader2.createXmitRequestHeader(sender));
  11. log.trace("%s: sending XMIT_REQ (%s) to %s", local_addr, missing_msgs, dest);
  12. down_prot.down(retransmit_msg);
  13. if(stats)
  14. xmit_reqs_sent.add(missing_msgs.size());
  15. }

代码示例来源:origin: wildfly/wildfly

  1. public void start(String props, String name, boolean unicast) throws Exception {
  2. ch=new JChannel(props);
  3. if(name != null)
  4. ch.setName(name);
  5. ch.setReceiver(this);
  6. ch.connect("ping");
  7. while(true) {
  8. Util.keyPress("enter to ping");
  9. Address dest=null;
  10. if(unicast)
  11. dest=Util.pickRandomElement(members);
  12. Message msg=new Message(dest, PING_REQ);
  13. msg.setFlag(Message.Flag.DONT_BUNDLE, Message.Flag.NO_FC);
  14. start=System.nanoTime();
  15. ch.send(msg);
  16. }
  17. }

代码示例来源:origin: wildfly/wildfly

  1. /** Called to handle a message received by the relayer */
  2. protected void handleRelayMessage(Relay2Header hdr, Message msg) {
  3. if(hdr.final_dest != null) {
  4. Message message=msg;
  5. Relay2Header header=hdr;
  6. if(header.type == Relay2Header.DATA && can_forward_local_cluster) {
  7. SiteUUID site_uuid=(SiteUUID)hdr.final_dest;
  8. // If configured to do so, we want to load-balance these messages,
  9. UUID tmp=(UUID)Util.pickRandomElement(members);
  10. SiteAddress final_dest=new SiteUUID(tmp, site_uuid.getName(), site_uuid.getSite());
  11. // If we select a different address to handle this message, we handle it here.
  12. if(!final_dest.equals(hdr.final_dest)) {
  13. message=copy(msg);
  14. header=new Relay2Header(Relay2Header.DATA, final_dest, hdr.original_sender );
  15. message.putHeader(id, header);
  16. }
  17. }
  18. handleMessage(header, message);
  19. }
  20. else {
  21. Message copy=copy(msg).dest(null).src(null).putHeader(id, hdr);
  22. down_prot.down(copy); // multicast locally
  23. // Don't forward: https://issues.jboss.org/browse/JGRP-1519
  24. // sendToBridges(msg.getSrc(), buf, from_site, site_id); // forward to all bridges except self and from
  25. }
  26. }

代码示例来源:origin: org.jboss.eap/wildfly-client-all

  1. private Address pickTarget() {
  2. return Util.pickRandomElement(dests);
  3. }

代码示例来源:origin: org.jboss.eap/wildfly-client-all

  1. /**
  2. * Applies action to a randomly picked RouterStub that's connected
  3. * @param action
  4. */
  5. public void forAny(Consumer<RouterStub> action) {
  6. while(!stubs.isEmpty()) {
  7. RouterStub stub=Util.pickRandomElement(stubs);
  8. if(stub != null && stub.isConnected()) {
  9. action.accept(stub);
  10. return;
  11. }
  12. }
  13. }

代码示例来源:origin: org.jgroups/com.springsource.org.jgroups

  1. Address random_member=(Address)Util.pickRandomElement(members);
  2. if(random_member != null && !local_addr.equals(random_member)) {
  3. dest=random_member;

代码示例来源:origin: org.jboss.eap/wildfly-client-all

  1. protected void retransmit(SeqnoList missing_msgs, final Address sender, boolean multicast_xmit_request) {
  2. Address dest=(multicast_xmit_request || this.use_mcast_xmit_req)? null : sender; // to whom do we send the XMIT request ?
  3. if(xmit_from_random_member && !local_addr.equals(sender)) {
  4. Address random_member=Util.pickRandomElement(members);
  5. if(random_member != null && !local_addr.equals(random_member))
  6. dest=random_member;
  7. }
  8. Message retransmit_msg=new Message(dest).setBuffer(Util.streamableToBuffer(missing_msgs))
  9. .setFlag(Message.Flag.OOB, Message.Flag.INTERNAL)
  10. .putHeader(this.id, NakAckHeader2.createXmitRequestHeader(sender));
  11. log.trace("%s: sending XMIT_REQ (%s) to %s", local_addr, missing_msgs, dest);
  12. down_prot.down(retransmit_msg);
  13. if(stats)
  14. xmit_reqs_sent.add(missing_msgs.size());
  15. }

代码示例来源:origin: org.jboss.eap/wildfly-client-all

  1. public void start(String props, String name, boolean unicast) throws Exception {
  2. ch=new JChannel(props);
  3. if(name != null)
  4. ch.setName(name);
  5. ch.setReceiver(this);
  6. ch.connect("ping");
  7. while(true) {
  8. Util.keyPress("enter to ping");
  9. Address dest=null;
  10. if(unicast)
  11. dest=Util.pickRandomElement(members);
  12. Message msg=new Message(dest, PING_REQ);
  13. msg.setFlag(Message.Flag.DONT_BUNDLE, Message.Flag.NO_FC);
  14. start=System.nanoTime();
  15. ch.send(msg);
  16. }
  17. }

代码示例来源:origin: org.jboss.eap/wildfly-client-all

  1. /** Called to handle a message received by the relayer */
  2. protected void handleRelayMessage(Relay2Header hdr, Message msg) {
  3. if(hdr.final_dest != null) {
  4. Message message=msg;
  5. Relay2Header header=hdr;
  6. if(header.type == Relay2Header.DATA && can_forward_local_cluster) {
  7. SiteUUID site_uuid=(SiteUUID)hdr.final_dest;
  8. // If configured to do so, we want to load-balance these messages,
  9. UUID tmp=(UUID)Util.pickRandomElement(members);
  10. SiteAddress final_dest=new SiteUUID(tmp, site_uuid.getName(), site_uuid.getSite());
  11. // If we select a different address to handle this message, we handle it here.
  12. if(!final_dest.equals(hdr.final_dest)) {
  13. message=copy(msg);
  14. header=new Relay2Header(Relay2Header.DATA, final_dest, hdr.original_sender );
  15. message.putHeader(id, header);
  16. }
  17. }
  18. handleMessage(header, message);
  19. }
  20. else {
  21. Message copy=copy(msg).dest(null).src(null).putHeader(id, hdr);
  22. down_prot.down(copy); // multicast locally
  23. // Don't forward: https://issues.jboss.org/browse/JGRP-1519
  24. // sendToBridges(msg.getSrc(), buf, from_site, site_id); // forward to all bridges except self and from
  25. }
  26. }

相关文章

Util类方法