Я пытаюсь написать простую программу Java, которая читает из таблицы jms_messages JBossMQ с помощью JDBC. Я использую JBoss 4.0.4.GA.Как получить базовый объект из SpyMessage в JBossMQ
Я могу получить доступ к SpyMessage, но как получить реальный контент сообщения (который является объектом в конкретном случае, на который я смотрю).
У меня есть результирующий набор «RS» от этого заявления:
SELECT messageid, messageblob FROM jms_messages WHERE DESTINATION LIKE 'TOPIC.MyTopic%' limit 3"
, а затем я делаю это (на основе JBoss кода):
long messageid = rs.getLong(1);
SpyMessage message = null;
byte[] st = rs.getBytes(2);
ByteArrayInputStream baip = new ByteArrayInputStream(st);
ObjectInputStream ois = new ObjectInputStream(baip);
message = SpyMessage.readMessage(ois);
message.header.messageId = messageid;
String jmstype = message.getJMSType();
String jms_message_id = message.getJMSMessageID();
System.out.println("jmstype=" +jmstype);
System.out.println("jms_message_id=" +jms_message_id);
String propertyName;
Enumeration e = message.getPropertyNames();
while (e.hasMoreElements())
{
propertyName = (String)e.nextElement();
System.out.println("property name = " +propertyName);
}
, но я не получаю свойства печатных и я не знаю, как получить мой фактический объект из SpyMessage (на самом деле SpyObjectMessage). Я был бы благодарен за любые указатели.
Я пробовал задавать этот вопрос на форуме JBoss без ответа, поэтому я надеюсь на лучшую удачу здесь.
Спасибо.