...
Code Block |
---|
language | java |
---|
title | Using AMQP component |
---|
|
// Consuming from AMQP queue
from("amqp:queue:incoming").
to(...);
// Sending message to the AMQP topic
from(...).
to("amqp:topic:notify"); |
Configuring AMQP component
Starting from the Camel 2.16.1 you can also use the AMQPComponent#amqp10Component(String connectionURI)
factory method to return the AMQP 1.0 component with the pre-configured topic prefix:
Code Block |
---|
language | java |
---|
title | Creating AMQP 1.0 component |
---|
|
AMQPComponent amqp = AMQPComponent.amqp10Component("amqp://guest:guest@localhost:5672"); |
Keep in mind that starting from the Camel 2.17 the AMQPComponent#amqp10Component(String connectionURI)
factory method has been deprecated on the behalf of the AMQPComponent#amqpComponent(String connectionURI)
:
Code Block |
---|
language | java |
---|
title | Creating AMQP 1.0 component |
---|
|
AMQPComponent amqp = AMQPComponent.amqpComponent("amqp://localhost:5672");
AMQPComponent authorizedAmqp = AMQPComponent.amqpComponent("amqp://localhost:5672", "user", "password"); |
In order to automatically configure the AMQP component, you can also add an instance of org.apache.camel.component.amqp.AMQPConnectionDetails
to the registry. For example for Spring Boot you just have to define bean:
Code Block |
---|
language | java |
---|
title | AMQP connection details auto-configuration |
---|
|
@Bean
AMQPConnectionDetails amqpConnection() {
return new AMQPConnectionDetails("amqp://lcoalhost:5672");
}
@Bean
AMQPConnectionDetails securedAmqpConnection() {
return new AMQPConnectionDetails("amqp://lcoalhost:5672", "username", "password");
} |
Using topics
To have using topics working with with camel-amqp
you you need to configure the component to use use topic://
as as topic prefix, as shown below:
Code Block |
---|
<bean id="amqp" class="org.apache.camel.component.amqp.AmqpComponent">
<property name="connectionFactory">
<bean class="org.apache.qpid.amqp_1_0.jms.impl.ConnectionFactoryImpl" factory-method="createFromURL">
<constructor-arg index="0" type="java.lang.String" value="amqp://localhost:5672" />
<property name="topicPrefix" value="topic://" /> <!-- only necessary when connecting to ActiveMQ over AMQP 1.0 -->
</bean>
</property>
</bean> |
...
Code Block |
---|
language | java |
---|
title | Creating AMQP 1.0 component |
---|
|
AMQPComponent amqp = AMQPComponent.amqp10Component("amqp://guest:guest@localhost:5672"); |
Keep in mind that starting from the Camel 2.17 the AMQPComponent#amqp10Component(String connectionURI)
factory method has been deprecated on the behalf of the AMQPComponent#amqpComponent(String connectionURI)
:
Code Block |
---|
language | java |
---|
title | Creating AMQP 1.0 component |
---|
|
AMQPComponent amqp = AMQPComponent.amqpComponent("amqp://localhost:5672"); |
both AMQPComponent#amqpComponent()
methods and AMQPConnectionDetails
pre-configure the component with the topic prefix, so you don't have to configure it explicitly.
Include Page |
---|
| Endpoint See Also |
---|
| Endpoint See Also |
---|
|