In general the concept is that
1) a message is sent(Queue)/published(Topic) to a destination (Queue/Topic)
2) the ActivationSpec listens to messages at a particular destintation (Queue/Topic)
3) ActivationSpec : Destination is a 1:1 relationship
4) A bean (MDB which is a consumer) is configured to listen to an ActivationSpec.
What this means is that in effect the bean is linked to a destination with a layer of indirection provided by the activationSpec.
Where does the bus come in - SIBus is the messaging infrastructure that makes all this possible. Destinations are hosted on the bus.
Coming to the question - the ActivationSpec would be configured to listen to a destination on the bus to which messages would be sent. The connection factory decides the bus to which message would be sent. As long as the destination name is unique and targetted to a specific queue (JMS Queue is linked to destination on the bus) one message would only be received by one ActivationSpec.
how many destinations (under SIBus link in WAS admin console) have been created on the bus ? Could you check/validate if the configuration is correct?
to answer your questions - "Is it one bus per activation spec and one queue connection factory per queue." - the answer is NO.
1) Bus is the underlying infrastructure that can host "n" destinations. One ActivationSpec listens to one destination.
2) With queue connection factory is a factory (J2EE factory pattern) for creating queues.