org.jgroups.Message.setObject()方法的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(8.7k)|赞(0)|评价(0)|浏览(198)

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

Message.setObject介绍

[英]Takes an object and uses Java serialization to generate the byte[] buffer which is set in the message.
[中]获取一个对象,并使用Java序列化生成消息中设置的字节[]缓冲区。

代码示例

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

  1. /**
  2. * Constructs a message given a destination and source address and the payload object
  3. * @param dest The Address of the receiver. If it is null, then the message is sent to the group. Otherwise, it is
  4. * sent to a single member.
  5. * @param obj The object that will be marshalled into the byte buffer. Has to be serializable (e.g. implementing
  6. * Serializable, Externalizable or Streamable, or be a basic type (e.g. Integer, Short etc)).
  7. */
  8. public Message(Address dest, Object obj) {
  9. this(dest);
  10. setObject(obj);
  11. }

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

  1. private void sendMessages() throws Exception {
  2. System.out.println("Start sending messages...");
  3. String address = jChannel.getAddressAsString();
  4. List<Address> mbrs = jChannel.getView().getMembers();
  5. start = System.nanoTime();
  6. for (int i = 0; i < numberOfMessages; ++i) {
  7. AnycastAddress dst = getDestinations(mbrs);
  8. Message message = new Message().dest(dst);
  9. DataMessage dataMessage = new DataMessage();
  10. dataMessage.type = DataMessage.DATA;
  11. dataMessage.data = address + ":" + i;
  12. message.setObject(dataMessage);
  13. jChannel.send(message);
  14. sentBytes += (dataMessage.data.getBytes().length + 1);
  15. sentMessages++;
  16. }
  17. stop = System.nanoTime();
  18. System.out.println("Finish sending messages...");
  19. }

代码示例来源:origin: apache/geode

  1. private Message createJGMessage(byte[] msgBytes, Address src, Address dest, short version) {
  2. Message msg = new Message();
  3. msg.setDest(dest);
  4. msg.setSrc(src);
  5. msg.setObject(msgBytes);
  6. msg.setFlag(Message.Flag.NO_RELIABILITY);
  7. msg.setFlag(Message.Flag.NO_FC);
  8. msg.setFlag(Message.Flag.DONT_BUNDLE);
  9. msg.setFlag(Message.Flag.OOB);
  10. return msg;
  11. }

代码示例来源:origin: org.exoplatform.kernel/exo.kernel.component.common

  1. /**
  2. * {@inheritDoc}
  3. */
  4. protected void setObject(Message m, Object o)
  5. {
  6. m.setObject(o);
  7. }
  8. }

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

  1. /**
  2. * Constructs a message given a destination and source address and the payload object
  3. * @param dest The Address of the receiver. If it is null, then the message is sent to the group. Otherwise, it is
  4. * sent to a single member.
  5. * @param obj The object that will be marshalled into the byte buffer. Has to be serializable (e.g. implementing
  6. * Serializable, Externalizable or Streamable, or be a basic type (e.g. Integer, Short etc)).
  7. */
  8. public Message(Address dest, Object obj) {
  9. this(dest);
  10. setObject(obj);
  11. }

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

  1. /** Public constructor
  2. * @param dest Address of receiver. If it is <em>null</em> then the message sent to the group.
  3. * Otherwise, it contains a single destination and is sent to that member.<p>
  4. * @param src Address of sender
  5. * @param obj The object will be serialized into the byte buffer. <em>Object
  6. * has to be serializable </em>! The resulting buffer must not be modified
  7. * (e.g. buf[0]=0 is not allowed), since we don't copy the contents on clopy() or clone().<p/>
  8. * Note that this is a convenience method and JGroups will use default Java serialization to
  9. * serialize <code>obj</code> into a byte buffer.
  10. */
  11. public Message(Address dest, Address src, Serializable obj) {
  12. this(dest);
  13. setSrc(src);
  14. setObject(obj);
  15. }

代码示例来源:origin: org.codehaus.hydra-cache/harmony

  1. @Override
  2. public void broadcast(ResponseMessage response) throws IOException {
  3. Message message = new Message();
  4. message.setObject(response);
  5. send(message);
  6. }

代码示例来源:origin: net.segoia/distributed-processor

  1. public void advertise() {
  2. if (channel == null || !channel.isConnected()) {
  3. return;
  4. }
  5. Message msg = new Message();
  6. msg.setObject(localServices.keySet().toArray(new DistributedServiceDescription[0]));
  7. try {
  8. sendMessage(msg);
  9. } catch (Exception e) {
  10. Log.error(this, "Error sending advertise message", e);
  11. }
  12. }

代码示例来源:origin: org.codehaus.hydra-cache/harmony

  1. @Override
  2. public Collection<ResponseMessage> broadcast(RequestMessage request)
  3. throws IOException {
  4. if (log.isDebugEnabled())
  5. log.debug("Sending operation request: " + request);
  6. Message message = new Message();
  7. message.setObject(request);
  8. Future<Collection<ResponseMessage>> responseFuture = multiplexRecevier
  9. .receiveFor(request);
  10. send(message);
  11. log.debug("Operation request sent");
  12. try {
  13. Collection<ResponseMessage> responseMessages = responseFuture.get(
  14. multicastTimeOut, TimeUnit.MILLISECONDS);
  15. if (log.isDebugEnabled())
  16. log.debug("Response messages received: " + responseMessages);
  17. List<ResponseMessage> results = new ArrayList<ResponseMessage>();
  18. for (ResponseMessage responseMessage : responseMessages) {
  19. results.add(responseMessage);
  20. }
  21. return results;
  22. } catch (Exception ex) {
  23. throw new IOException("Failed to request help for operation: "
  24. + request, ex);
  25. }
  26. }

代码示例来源:origin: net.segoia/distributed-processor

  1. public boolean postEvent(Event event) {
  2. Message msg = new Message();
  3. msg.setObject(event);
  4. try {
  5. sendMessage(msg);
  6. return true;
  7. } catch (Exception e) {
  8. logger.error("Failed to send event " + event, e);
  9. return false;
  10. }
  11. }

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

  1. rsp.setObject((Serializable)retval);
  2. else
  3. rsp.setObject(retval.toString());

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

  1. private void sendMessages() throws Exception {
  2. System.out.println("Start sending messages...");
  3. String address = jChannel.getAddressAsString();
  4. List<Address> mbrs = jChannel.getView().getMembers();
  5. start = System.nanoTime();
  6. for (int i = 0; i < numberOfMessages; ++i) {
  7. AnycastAddress dst = getDestinations(mbrs);
  8. Message message = new Message().dest(dst);
  9. DataMessage dataMessage = new DataMessage();
  10. dataMessage.type = DataMessage.DATA;
  11. dataMessage.data = address + ":" + i;
  12. message.setObject(dataMessage);
  13. jChannel.send(message);
  14. sentBytes += (dataMessage.data.getBytes().length + 1);
  15. sentMessages++;
  16. }
  17. stop = System.nanoTime();
  18. System.out.println("Finish sending messages...");
  19. }

代码示例来源:origin: net.segoia/distributed-processor

  1. private SubmitTaskResponse submitBroadcastTask(Task task, ProcessingResponseReceiver receiver) {
  2. DistributedServiceDescription sd = task.getTargetService();
  3. SubmitTaskResponse resp = new SubmitTaskResponse();
  4. resp.setSuccessfull(true);
  5. List<Address> servAddresses = globalServices.get(sd);
  6. if (servAddresses != null) {
  7. long taskId = task.getTaskId();
  8. BroadcastTaskProcessingResponse btpr = new BroadcastTaskProcessingResponse(taskId, servAddresses.size());
  9. pendingRequests.put(taskId, receiver);
  10. pendigBroadcastRequests.put(taskId, btpr);
  11. /* submit the task to every node that has the service active */
  12. for (Address adr : servAddresses) {
  13. Message msg = new Message();
  14. msg.setDest(adr);
  15. msg.setObject(task);
  16. try {
  17. sendMessage(msg);
  18. } catch (Exception e) {
  19. resp.setError(e);
  20. resp.setSuccessfull(false);
  21. }
  22. }
  23. } else {
  24. resp.setSuccessfull(false);
  25. resp.setError(new Exception("No address registered for service " + sd));
  26. }
  27. return resp;
  28. }

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

  1. update.putHeader(CausalNewViewHeader.NAME
  2. , new CausalNewViewHeader(newView.getViewId(), newView.getLocalTime(), complete));
  3. update.setObject(new MissingIndexesMessage(newView.getMissingTimes(), newView.getMissingCompletions()));

代码示例来源:origin: org.apache.geode/gemfire-core

  1. private Message createJGMessage(byte[] msgBytes, Address src, Address dest, short version) {
  2. Message msg = new Message();
  3. msg.setDest(dest);
  4. msg.setSrc(src);
  5. msg.setObject(msgBytes);
  6. msg.setFlag(Message.Flag.NO_RELIABILITY);
  7. msg.setFlag(Message.Flag.NO_FC);
  8. msg.setFlag(Message.Flag.DONT_BUNDLE);
  9. msg.setFlag(Message.Flag.OOB);
  10. return msg;
  11. }

代码示例来源:origin: net.segoia/distributed-processor

  1. /**
  2. * Sends the response back to the client after the task was processed on the local node
  3. *
  4. * @param input
  5. * @param output
  6. */
  7. private void sendResponse(Task input, TaskProcessingResponse output) {
  8. Message respMessage = new Message();
  9. /* get the client address */
  10. Address clientAddress = pendingResponses.remove(input);
  11. respMessage.setDest(clientAddress);
  12. respMessage.setObject(new TaskProcessingResponse(output.getTaskId(), output.getResult(), output.getException(),
  13. this.getLocalNodeAddress()));
  14. try {
  15. sendMessage(respMessage);
  16. } catch (Exception e) {
  17. Log.error(this, "Error sending response for task " + input.getTaskId(), e);
  18. }
  19. }

代码示例来源:origin: net.segoia/distributed-processor

  1. private SubmitTaskResponse submitSimpleTask(Task task, ProcessingResponseReceiver receiver) {
  2. DistributedServiceDescription sd = task.getTargetService();
  3. SubmitTaskResponse resp = new SubmitTaskResponse();
  4. Address adr = getProcessingAddressForService(sd);
  5. if (adr != null) {
  6. Message msg = new Message();
  7. msg.setDest(adr);
  8. long taskId = task.getTaskId();
  9. msg.setObject(task);
  10. try {
  11. pendingRequests.put(taskId, receiver);
  12. sendMessage(msg);
  13. resp.setSuccessfull(true);
  14. } catch (Exception e) {
  15. resp.setError(e);
  16. resp.setSuccessfull(false);
  17. }
  18. } else {
  19. resp.setSuccessfull(false);
  20. resp.setError(new Exception("No address registered for service " + sd));
  21. }
  22. return resp;
  23. }

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

  1. update.putHeader(CausalNewViewHeader.NAME
  2. , new CausalNewViewHeader(currentView.getView().getViewId(), 0, true)); // It has the time already
  3. update.setObject(new MissingIndexesMessage(Collections.EMPTY_LIST, Collections.EMPTY_LIST));

相关文章