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

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

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

Util.objectFromByteBuffer介绍

[英]Creates an object from a byte buffer
[中]从字节缓冲区创建对象

代码示例

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

  1. /**
  2. * Creates an object from a byte buffer
  3. */
  4. public static <T extends Object> T objectFromByteBuffer(byte[] buffer) throws Exception {
  5. if(buffer == null) return null;
  6. return objectFromByteBuffer(buffer,0,buffer.length);
  7. }

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

  1. public Object getValue() throws Exception {
  2. return Util.objectFromByteBuffer(attr_value);
  3. }

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

  1. public Object getValue() throws Exception {
  2. return Util.objectFromByteBuffer(attr_value);
  3. }

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

  1. public static <T extends Object> T objectFromByteBuffer(byte[] buffer,int offset,int length) throws Exception {
  2. return objectFromByteBuffer(buffer, offset, length, null);
  3. }

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

  1. /**
  2. * Uses custom serialization to create an object from the buffer of the message. Note that this is dangerous when
  3. * using your own classloader, e.g. inside of an application server ! Most likely, JGroups will use the system
  4. * classloader to deserialize the buffer into an object, whereas (for example) a web application will want to use
  5. * the webapp's classloader, resulting in a ClassCastException. The recommended way is for the application to use
  6. * their own serialization and only pass byte[] buffer to JGroups.<p/>
  7. * As of 3.5, a classloader can be passed in. It will be used first to find a class, before contacting
  8. * the other classloaders in the list. If null, the default list of classloaders will be used.
  9. * @return the object
  10. */
  11. public <T extends Object> T getObject(ClassLoader loader) {
  12. try {
  13. return Util.objectFromByteBuffer(buf, offset, length, loader);
  14. }
  15. catch(Exception ex) {
  16. throw new IllegalArgumentException(ex);
  17. }
  18. }

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

  1. public static Object readObject(DataInput in) throws Exception {
  2. int len=in.readInt();
  3. if(len == -1)
  4. return readGenericStreamable(in);
  5. byte[] buf=new byte[len];
  6. in.readFully(buf, 0, len);
  7. return objectFromByteBuffer(buf);
  8. }

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

  1. public void run() {
  2. DatagramPacket packet;
  3. byte[] buf;
  4. DiscoveryResponse rsp;
  5. List l;
  6. InetAddress bind_interface;
  7. InetSocketAddress responder_addr;
  8. while (running) {
  9. try {
  10. buf = new byte[16000];
  11. packet = new DatagramPacket(buf, buf.length);
  12. sock.receive(packet);
  13. rsp = (DiscoveryResponse) Util.objectFromByteBuffer(packet.getData());
  14. System.out.println("<== " + rsp);
  15. bind_interface = rsp.interface_used;
  16. l = (List) map.get(bind_interface);
  17. if (l == null)
  18. map.put(bind_interface, (l = new ArrayList()));
  19. responder_addr = rsp.discovery_responder;
  20. if (!l.contains(responder_addr))
  21. l.add(responder_addr);
  22. } catch (Exception ex) {
  23. System.err.println("UcastReceiver.run(): " + ex);
  24. }
  25. }
  26. }
  27. }

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

  1. public void readFrom(DataInput in) throws Exception {
  2. type=Type.values()[in.readByte()];
  3. // We can't use Util.readObject since it's size is limited to 2^15-1
  4. try {
  5. short first = in.readShort();
  6. if (first == -1) {
  7. object = Util.readGenericStreamable(in);
  8. }
  9. else {
  10. ByteBuffer bb = ByteBuffer.allocate(4);
  11. bb.putShort(first);
  12. bb.putShort(in.readShort());
  13. int size = bb.getInt(0);
  14. byte[] bytes = new byte[size];
  15. in.readFully(bytes, 0, size);
  16. object = Util.objectFromByteBuffer(bytes);
  17. }
  18. }
  19. catch (IOException e) {
  20. throw e;
  21. }
  22. catch (Exception e) {
  23. throw new IOException("Exception encountered while serializing execution request", e);
  24. }
  25. request=in.readLong();
  26. }

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

  1. public void run() {
  2. while (running) {
  3. buf = new byte[16000];
  4. mcast_packet = new DatagramPacket(buf, buf.length);
  5. try {
  6. mcast_sock.receive(mcast_packet);
  7. req = (DiscoveryRequest) Util.objectFromByteBuffer(mcast_packet.getData());
  8. System.out.println("<-- " + req);
  9. // send response back to req.sender_addr
  10. rsp = new DiscoveryResponse(new InetSocketAddress(local_addr, local_port), req.sender_addr.getAddress());
  11. buf = Util.objectToByteBuffer(rsp);
  12. rsp_packet = new DatagramPacket(buf, buf.length, req.sender_addr);
  13. sock.send(rsp_packet);
  14. } catch (Exception ex) {
  15. System.err.println("McastReceiver.run(): " + ex + ", rsp_packet=" +
  16. rsp_packet.getSocketAddress() + ", length=" + rsp_packet.getLength() + " bytes");
  17. ex.printStackTrace();
  18. }
  19. }
  20. }
  21. }

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

  1. /**
  2. * Creates an object from a byte buffer
  3. */
  4. public static <T extends Object> T objectFromByteBuffer(byte[] buffer) throws Exception {
  5. if(buffer == null) return null;
  6. return objectFromByteBuffer(buffer,0,buffer.length);
  7. }

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

  1. public Object getValue() throws Exception {
  2. return Util.objectFromByteBuffer(attr_value);
  3. }

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

  1. public static <T extends Object> T objectFromByteBuffer(byte[] buffer,int offset,int length) throws Exception {
  2. return objectFromByteBuffer(buffer, offset, length, null);
  3. }

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

  1. public void setState(byte[] state) {
  2. try {
  3. history=(LinkedList)Util.objectFromByteBuffer(state);
  4. }
  5. catch(Exception e) {
  6. e.printStackTrace();
  7. }
  8. }

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

  1. private void handleServicesRsp(Address sender, byte[] state) throws Exception {
  2. Set<String> s=(Set<String>) Util.objectFromByteBuffer(state);
  3. synchronized(service_responses) {
  4. Set<String> tmp=service_responses.get(sender);
  5. if(tmp == null)
  6. tmp=new HashSet<String>();
  7. tmp.addAll(s);
  8. service_responses.put(sender, tmp);
  9. if(log.isTraceEnabled())
  10. log.trace("received service response: " + sender + "(" + s.toString() + ")");
  11. service_responses.notifyAll();
  12. }
  13. }

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

  1. public static Object readObject(DataInput in) throws Exception {
  2. int len=in.readInt();
  3. if(len == -1)
  4. return readGenericStreamable(in);
  5. byte[] buf=new byte[len];
  6. in.readFully(buf, 0, len);
  7. return objectFromByteBuffer(buf);
  8. }

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

  1. public void setState(byte[] state) {
  2. try {
  3. integrate((Hashtable)Util.objectFromByteBuffer(state));
  4. }
  5. catch(Exception ex) {
  6. ex.printStackTrace();
  7. }
  8. }

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

  1. /**
  2. * Creates an object from a byte buffer
  3. */
  4. public static Object objectFromByteBuffer(byte[] buffer) throws Exception {
  5. if(buffer == null) return null;
  6. if(JGROUPS_COMPAT)
  7. return oldObjectFromByteBuffer(buffer);
  8. return objectFromByteBuffer(buffer, 0, buffer.length);
  9. }

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

  1. public static Object readObject(DataInputStream in) throws Exception {
  2. short len=in.readShort();
  3. Object retval=null;
  4. if(len == -1) {
  5. retval=readGenericStreamable(in);
  6. }
  7. else {
  8. byte[] buf=new byte[len];
  9. in.readFully(buf, 0, len);
  10. retval=objectFromByteBuffer(buf);
  11. }
  12. return retval;
  13. }

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

  1. public void setState(byte[] new_state) {
  2. Hashtable new_copy;
  3. try {
  4. new_copy=(Hashtable)Util.objectFromByteBuffer(new_state);
  5. if(new_copy == null)
  6. return;
  7. }
  8. catch(Throwable ex) {
  9. if(log.isErrorEnabled()) log.error("exception unmarshalling state: " + ex);
  10. return;
  11. }
  12. _putAll(new_copy);
  13. state_promise.setResult(Boolean.TRUE);
  14. }

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

  1. public void setState(byte[] new_state) {
  2. HashMap<K,V> new_copy;
  3. try {
  4. new_copy=(HashMap<K,V>)Util.objectFromByteBuffer(new_state);
  5. if(new_copy == null)
  6. return;
  7. }
  8. catch(Throwable ex) {
  9. if(log.isErrorEnabled()) log.error("exception unmarshalling state: " + ex);
  10. return;
  11. }
  12. _putAll(new_copy);
  13. state_promise.setResult(Boolean.TRUE);
  14. }

相关文章

Util类方法