As stated in the API: an ObjectMessage object is used to send a Serializable object to the queue.
My question is: can an Externalizable object be sent to the queue?
Absolutely, we are doing it with every object message we send. It's usually a collection of objects that implement an Externalizable interface.
Just beware of null field values. That issues has caught me more than once.