Are messages received in the order they were sent/published?
In general, no. JMS guarantees that messages delivered by a server to a client, relative to a single destination and via a single session, are delivered in order. This order may be different from the order published/sent by the producing client.
In many cases, it is unwise to structure communications so that order is important, but in those cases in which the order must be preserved from the producer to the consumer, the messages can be produced and consumed in a transacted session.