use of org.apache.activemq.command.MessageDispatch in project activemq-artemis by apache.
the class MessageDispatchTest method populateObject.
@Override
protected void populateObject(Object object) throws Exception {
super.populateObject(object);
MessageDispatch info = (MessageDispatch) object;
info.setConsumerId(createConsumerId("ConsumerId:1"));
info.setDestination(createActiveMQDestination("Destination:2"));
info.setMessage(createMessage("Message:3"));
info.setRedeliveryCounter(1);
}
use of org.apache.activemq.command.MessageDispatch in project activemq-artemis by apache.
the class MessageDispatchTest method createObject.
@Override
public Object createObject() throws Exception {
MessageDispatch info = new MessageDispatch();
populateObject(info);
return info;
}
use of org.apache.activemq.command.MessageDispatch in project activemq-artemis by apache.
the class MessageDispatchTest method populateObject.
@Override
protected void populateObject(Object object) throws Exception {
super.populateObject(object);
MessageDispatch info = (MessageDispatch) object;
info.setConsumerId(createConsumerId("ConsumerId:1"));
info.setDestination(createActiveMQDestination("Destination:2"));
info.setMessage(createMessage("Message:3"));
info.setRedeliveryCounter(1);
}
use of org.apache.activemq.command.MessageDispatch in project pinpoint by naver.
the class ActiveMQMessageConsumerDispatchInterceptor method doInBeforeTrace.
@Override
protected void doInBeforeTrace(SpanRecorder recorder, Object target, Object[] args) {
recorder.recordServiceType(ActiveMQClientConstants.ACTIVEMQ_CLIENT);
ActiveMQSession session = ((ActiveMQSessionGetter) target)._$PINPOINT$_getActiveMQSession();
ActiveMQConnection connection = session.getConnection();
Transport transport = getRootTransport(((TransportGetter) connection)._$PINPOINT$_getTransport());
Socket socket = ((SocketGetter) transport)._$PINPOINT$_getSocket();
SocketAddress localSocketAddress = socket.getLocalSocketAddress();
String endPoint = ActiveMQClientUtils.getEndPoint(localSocketAddress);
// Endpoint should be the local socket address of the consumer.
recorder.recordEndPoint(endPoint);
SocketAddress remoteSocketAddress = socket.getRemoteSocketAddress();
String remoteAddress = ActiveMQClientUtils.getEndPoint(remoteSocketAddress);
// Remote address is the socket address of where the consumer is connected to.
recorder.recordRemoteAddress(remoteAddress);
MessageDispatch md = (MessageDispatch) args[0];
ActiveMQMessage message = (ActiveMQMessage) md.getMessage();
ActiveMQDestination destination = message.getDestination();
// Rpc name is the URI of the queue/topic we're consuming from.
recorder.recordRpcName(destination.getQualifiedName());
// Record acceptor host as the queue/topic name in order to generate virtual queue node.
recorder.recordAcceptorHost(destination.getPhysicalName());
String parentApplicationName = ActiveMQClientHeader.getParentApplicationName(message, null);
if (!recorder.isRoot() && parentApplicationName != null) {
short parentApplicationType = ActiveMQClientHeader.getParentApplicationType(message, ServiceType.UNDEFINED.getCode());
recorder.recordParentApplication(parentApplicationName, parentApplicationType);
}
}
use of org.apache.activemq.command.MessageDispatch in project activemq-artemis by apache.
the class BrokerNetworkWithStuckMessagesTest method receiveMessage.
public Message receiveMessage(StubConnection connection, long timeout) throws InterruptedException {
while (true) {
Object o = connection.getDispatchQueue().poll(timeout, TimeUnit.MILLISECONDS);
if (o == null) {
return null;
}
if (o instanceof MessageDispatch) {
MessageDispatch dispatch = (MessageDispatch) o;
if (dispatch.getMessage() == null) {
return null;
}
dispatch.setMessage(dispatch.getMessage().copy());
dispatch.getMessage().setRedeliveryCounter(dispatch.getRedeliveryCounter());
return dispatch.getMessage();
}
}
}
Aggregations