Hi Brian,
Thanks for the response.  Comments inline ....

On 6/12/06, Brian McCallister <[EMAIL PROTECTED]> wrote:

JMSType is a reserved header in JMS, for use at the application
level. I think what you are proposing is more accurately an ActiveMQ
specific transform header. I think this type of transform should
either be a real, arbitrary, pluggable, transform mechanism, or
should not be done.


Agreed ... using the "type" header is not an option.

I would much prefer to *always* use a bytes message, but this is
backwards incompatible so cannot be done in 4.X.

I would propose that instead of overloading JMSType, if we think we
need to have a transform/mapping mechanism we base it on an active-mq
specific header, and make it something like:

STOMPMessageTransformer {
   public ActiveMQMessage transform
(SomeRepresentationOfTheSendFrameIncludingHeaders frame) {
     ...
   }
}

I am not convinced we need this, but I much prefer it to a hardcoded
transform, as this would allow for much more useful transforms (ie,
aplication-aware).


Although I agree conceptually, I'm thinking this might be a bit of an
overkill for the task at hand.  Right now the STOMP transport only works
with bytes and text messages, and creating this transform model won't change
that.  I think if we one day decide to refactor the transport to accept
other message types - that would be the time to make this sort of change.

I think that, properly, this should be done by a service on the
messaging bus though, NOT in a protocol handler.


The  logic to choose which message to create already lies in the transport,
I'm just changing the logic.  If we want to refactor this, then I think that
is another JIRA issue for another day (and discussion :) ).

-Brian


Thanks,
Nate

Reply via email to