"derek.adams" wrote : I think the current implementation works well in the sense
that there is not a specific interface for the properties associated with a message (i.e -
no getMessageId() or getMessageCreateDate() on the Message interface itself). I added the
org.jboss.soa.esb.message.properties.MessagePropertyFacade class as a wrapper for messages
so that there would be consistent property naming and typing without restricting the
Message interface. Does that sound like a good way to handle it?
Yes and no ;-) Maybe I just need some clarification.
When I look at the MessageStore interface, the way of retrieving messages is either by
URI:
public Message getMessage (URI uid) throws MessageStoreException;
or by the fact that the messages haven't been delivered:
public Map<URI, Message> getUndeliveredMessages() throws MessageStoreException;
One of the intentions of the message store was that it could be used for audit trail
purposes ("give me all mesage exchanges between A and B during 9am and 12pm on 2nd of
August") and debugging (replay the events), etc. A DLQ is obviously just one way in
which we can use the messages stored. The original interface for the MessageStore fell
short of our intentions, as you've seen. What we've got now is a lot more useful.
However, it would be nice to have something that is more flexible. We could do this in a
number of ways. For example, did you see my earlier comment about using rules?
public Map<URI, Message> getMessages(RuleBase rules) throws MessageStoreException;
Would be interested in your thoughts on generalising the interface.
Also, could you add the copyright statement to the head of the files you added? Thanks.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4037753#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...