Refine search
/** * Creates an initialized <CODE>ObjectMessage</CODE> object. An * <CODE>ObjectMessage</CODE> object is used to send a message that * contains a serializable Java object. * * @param object the object to use to initialize this message * @return an ActiveMQObjectMessage * @throws JMSException if the JMS provider fails to create this message due * to some internal error. */ @Override public ObjectMessage createObjectMessage(Serializable object) throws JMSException { ActiveMQObjectMessage message = new ActiveMQObjectMessage(); configureMessage(message); message.setObject(object); return message; }
private void copy(ActiveMQObjectMessage copy) { ActiveMQConnection connection = getConnection(); if (connection == null || !connection.isObjectMessageSerializationDefered()) { storeContent(); copy.object = null; } else { copy.object = object; } super.copy(copy); }
@Override public Message copy() { ActiveMQObjectMessage copy = new ActiveMQObjectMessage(); copy(copy); copy.setTrustAllPackages(trustAllPackages); copy.setTrustedPackages(trustedPackages); return copy; }
/** * Sets the serializable object containing this message's data. It is * important to note that an <CODE>ObjectMessage</CODE> contains a * snapshot of the object at the time <CODE>setObject()</CODE> is called; * subsequent modifications of the object will have no effect on the * <CODE>ObjectMessage</CODE> body. * * @param newObject the message's data * @throws JMSException if the JMS provider fails to set the object due to * some internal error. * @throws javax.jms.MessageFormatException if object serialization fails. * @throws javax.jms.MessageNotWriteableException if the message is in * read-only mode. */ @Override public void setObject(Serializable newObject) throws JMSException { checkReadOnlyBody(); this.object = newObject; setContent(null); ActiveMQConnection connection = getConnection(); if (connection == null || !connection.isObjectMessageSerializationDefered()) { storeContent(); } }
break; case org.apache.activemq.artemis.api.core.Message.OBJECT_TYPE: amqMsg = new ActiveMQObjectMessage(); bytes = toAMQMessageObjectType(buffer, isCompressed); break; break; case org.apache.activemq.artemis.api.core.Message.DEFAULT_TYPE: amqMsg = new ActiveMQMessage(); bytes = toAMQMessageDefaultType(buffer, isCompressed); break; amqMsg.setJMSType(type); amqMsg.setPersistent(coreMessage.isDurable()); amqMsg.setExpiration(coreMessage.getExpiration()); amqMsg.setPriority(coreMessage.getPriority());
if (message.getDataStructureType() == ActiveMQObjectMessage.DATA_STRUCTURE_TYPE) { ActiveMQObjectMessage msg = (ActiveMQObjectMessage) message.copy(); command.setContent(marshall(msg.getObject(), headers.get(Headers.TRANSFORMATION)).getBytes("UTF-8")); } else if (message.getDataStructureType() == ActiveMQMapMessage.DATA_STRUCTURE_TYPE) {
} else if (message instanceof ObjectMessage) { ObjectMessage objMsg = (ObjectMessage)message; ActiveMQObjectMessage msg = new ActiveMQObjectMessage(); msg.setConnection(connection); msg.setObject(objMsg.getObject()); msg.storeContent(); activeMessage = msg; } else if (message instanceof StreamMessage) { msg.setConnection(connection); if (connection != null){ msg.setBlobDownloader(new BlobDownloader(connection.getBlobTransferPolicy())); activeMessage = new ActiveMQMessage(); activeMessage.setConnection(connection);
/** * @return a new object instance */ public DataStructure createObject() { return new ActiveMQObjectMessage(); }
private static ActiveMQMessage createActiveMQMessage(Exchange exchange) throws JMSException { Object body = exchange.getIn().getBody(); if (body instanceof String) { ActiveMQTextMessage answer = new ActiveMQTextMessage(); answer.setText((String) body); return answer; } else if (body instanceof Serializable) { ActiveMQObjectMessage answer = new ActiveMQObjectMessage(); answer.setObject((Serializable) body); return answer; } else { return new ActiveMQMessage(); } }
@Override public void storeContent() { ByteSequence bodyAsBytes = getContent(); if (bodyAsBytes == null && object != null) { try { ByteArrayOutputStream bytesOut = new ByteArrayOutputStream(); OutputStream os = bytesOut; ActiveMQConnection connection = getConnection(); if (connection != null && connection.isUseCompression()) { compressed = true; os = new DeflaterOutputStream(os); } DataOutputStream dataOut = new DataOutputStream(os); ObjectOutputStream objOut = new ObjectOutputStream(dataOut); objOut.writeObject(object); objOut.flush(); objOut.reset(); objOut.close(); setContent(bytesOut.toByteSequence()); } catch (IOException ioe) { throw new RuntimeException(ioe.getMessage(), ioe); } } }
result = new ActiveMQObjectMessage(); } else if (isContentType(OCTET_STREAM_CONTENT_TYPE, message) || isContentType(null, message)) { result = new ActiveMQBytesMessage(); result = new ActiveMQTextMessage(); } else { result = new ActiveMQMessage(); result.setShortProperty(JMS_AMQP_ORIGINAL_ENCODING, AMQP_NULL); } else if (body instanceof Data) { Binary payload = ((Data) body).getValue(); result.setShortProperty(JMS_AMQP_ORIGINAL_ENCODING, AMQP_DATA); } else if (body instanceof AmqpSequence) { AmqpSequence sequence = (AmqpSequence) body;
... MessageConsumer consumer=session.createConsumer(destination); while(true) { javax.jms.Message message=consumer.receive(); ActiveMQObjectMessage queueMessage=(ActiveMQObjectMessage)message; Object payload=queueMessage.getObject(); if(payload instanceof NotificationMessage) { this.sendMessage((NotificationMessage)payload); } }
@Override public void onMessage(Message message) { String transport= ((ActiveMQConnection)((ActiveMQObjectMessage)message).getConnection()).getTransport().toString(); String text= ""; try { text = ((ActiveMQObjectMessage)message).getObject().toString(); } catch (JMSException e) { e.printStackTrace(); } if(Product.transportResult.containsKey(transport)){ Product.transportResult.get(transport).add(text); } else { List<String> productList=new ArrayList<>(); productList.add(text); Product.transportResult.put(transport,productList); } System.out.println("Consumer,productId:"+text+"transport:"+transport); } }
if (object == null && getContent() != null) { try { ByteSequence content = getContent(); InputStream is = new ByteArrayInputStream(content); if (isCompressed()) { is = new InflaterInputStream(is);
public static ActiveMQObjectMessage createObjectMessage(byte[] content, int offset, int length) { ActiveMQObjectMessage message = new ActiveMQObjectMessage(); message.setContent(new ByteSequence(content, offset, length)); return message; }
public Message copy() { ActiveMQObjectMessage copy = new ActiveMQObjectMessage(); copy(copy); return copy; }
if (message.getDataStructureType() == ActiveMQObjectMessage.DATA_STRUCTURE_TYPE) { ActiveMQObjectMessage msg = (ActiveMQObjectMessage) message.copy(); command.setContent(marshall(msg.getObject(), headers.get(Headers.TRANSFORMATION)).getBytes("UTF-8")); } else if (message.getDataStructureType() == ActiveMQMapMessage.DATA_STRUCTURE_TYPE) {
} else if (message instanceof ObjectMessage) { ObjectMessage objMsg = (ObjectMessage)message; ActiveMQObjectMessage msg = new ActiveMQObjectMessage(); msg.setConnection(connection); msg.setObject(objMsg.getObject()); msg.storeContent(); activeMessage = msg; } else if (message instanceof StreamMessage) { msg.setConnection(connection); if (connection != null){ msg.setBlobDownloader(new BlobDownloader(connection.getBlobTransferPolicy())); activeMessage = new ActiveMQMessage(); activeMessage.setConnection(connection);
/** * @return a new object instance */ public DataStructure createObject() { return new ActiveMQObjectMessage(); }