JMS Destination Types
JMS binding destinations can be configured as physical destination names or as JNDI destination names.
The spring.cloud.stream.jms.bindings.<binding_name>.<consumer | producer>.destination-type binding property specifies whether the destination value is a physical destination name or a JNDI destination name.
| Destination Type | Destination JNDI Lookup? |
|---|---|
|
|
No |
|
|
No |
|
|
Yes |
When destination-type is either queue or topic, the configured destination is assumed to be a physical destination name and no JNDI lookup is done.
When destination-type is unknown, the configured destination is assumed to be a JNDI destination name and a lookup is performed. A JNDI Context must be configured for the lookup to succeed.
In the following example, the consumer’s destination is known at configuration time and no JNDI lookup is performed:
spring:
cloud:
stream:
bindings:
input-0:
destination: physical_queue_name
binder: jms
jms:
bindings:
input-0:
consumer:
destination-type: queue
In the following example, the producer’s destination is only known at runtime after a successful JNDI lookup:
spring:
cloud:
stream:
bindings:
output-1:
destination: jndi_destination_name
binder: jms
jms:
bindings:
output-1:
producer:
destination-type:unknown