我创建了一个使用来自 TIBCO EMS 队列的消息的 MDB。这工作正常,消耗所有消息。现在我需要实现一个消息选择器来只使用一种特定类型的消息。
问题是我的 messageSelector 不起作用,MDB 仍在使用所有消息。
我的 MDB
@MessageDriven(
name = "MDBPscInformationResponseReceiver",
activationConfig = {
@ActivationConfigProperty( propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
@ActivationConfigProperty( propertyName = "destination", propertyValue ="jms/PscInformationResponseQueue"),
@ActivationConfigProperty( propertyName = "messageSelector", propertyValue ="TipoMensagem='UPDATE'")
}
)
public class MDBPscInformationResponseReceiver implements MessageListener {
收到的消息(标头)
TextMessage={ Header={
JMSMessageID={ID:EMS-SERVER.BD0DC51386DFD35EC0:18012}
JMSDestination={Queue[WAI.SDAGL.08502.PSC.RPL]}
JMSReplyTo={null} JMSDeliveryMode={NON_PERSISTENT}
JMSRedelivered={false}
JMSCorrelationID={}
JMSType={}
JMSTimestamp={Wed Jun 05 11:08:07 BST 2013}
JMSExpiration={0}
JMSPriority={4}
}
Properties={
TipoMensagem={String:CONSULTA}
}
Text={<?xml version="1.0" encoding="UTF-8"?>
我正在使用 GEMS 发送消息(我有一个打印屏幕,但我还不能发布图像)
JMSDeliveryMode NON_PERSISTENT
JMSDestination WAI.SDAGL.08502.PSC.RPL
JMSCorrelationID
JMSType
JMSExpiration 0
JMSPriority 4
TipoMensagem CONSULTA
我已经阅读了来自 java ( http://docs.oracle.com/javaee/6/tutorial/doc/bncgw.html ) 的文档并且没有想法。