apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: spring-rabbitmq-sink annotations: camel.apache.org/kamelet.support.level: "Preview" camel.apache.org/catalog.version: "4.10.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjcxcHgiIGhlaWdodD0iMjcxcHgiIHZpZXdCb3g9Ii03LjUgMCAyNzEgMjcxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj48cGF0aCBkPSJNMjQ1LjQ0IDEwOC4zMDhoLTg1LjA5YTcuNzM4IDcuNzM4IDAgMCAxLTcuNzM1LTcuNzM0di04OC42OEMxNTIuNjE1IDUuMzI3IDE0Ny4yOSAwIDE0MC43MjYgMGgtMzAuMzc1Yy02LjU2OCAwLTExLjg5IDUuMzI3LTExLjg5IDExLjg5NHY4OC4xNDNjMCA0LjU3My0zLjY5NyA4LjI5LTguMjcgOC4zMWwtMjcuODg1LjEzM2MtNC42MTIuMDI1LTguMzU5LTMuNzE3LTguMzUtOC4zMjVsLjE3My04OC4yNDFDNTQuMTQ0IDUuMzM3IDQ4LjgxNyAwIDQyLjI0IDBIMTEuODlDNS4zMjEgMCAwIDUuMzI3IDAgMTEuODk0VjI2MC4yMWMwIDUuODM0IDQuNzI2IDEwLjU2IDEwLjU1NSAxMC41NkgyNDUuNDRjNS44MzQgMCAxMC41Ni00LjcyNiAxMC41Ni0xMC41NlYxMTguODY4YzAtNS44MzQtNC43MjYtMTAuNTYtMTAuNTYtMTAuNTZ6bS0zOS45MDIgOTMuMjMzYzAgNy42NDUtNi4xOTggMTMuODQ0LTEzLjg0MyAxMy44NDRIMTY3LjY5Yy03LjY0NiAwLTEzLjg0NC02LjE5OS0xMy44NDQtMTMuODQ0di0yNC4wMDVjMC03LjY0NiA2LjE5OC0xMy44NDQgMTMuODQ0LTEzLjg0NGgyNC4wMDVjNy42NDUgMCAxMy44NDMgNi4xOTggMTMuODQzIDEzLjg0NHYyNC4wMDV6IiBmaWxsPSIjRjYwIi8+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "RabbitMQ" camel.apache.org/kamelet.namespace: "Messaging" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "RabbitMQ Sink" description: |- Send data to a RabbitMQ Broker. required: - host - port - exchangeName type: object properties: host: title: Server Address description: RabbitMQ broker address type: string example: "localhost" port: title: Server Port description: RabbitMQ broker port type: int example: 5672 routingKey: title: Routing Key description: The routing key to use when binding a consumer queue to the exchange type: string username: title: Username description: The username to access the RabbitMQ server type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The password to access the RabbitMQ server type: string format: password x-descriptors: - urn:alm:descriptor:com.tectonic.ui:password - urn:camel:group:credentials exchangeName: title: Exchange name description: The exchange name determines the exchange the queue will be bound to type: string queues: title: Queue name description: The queue to receive messages from type: string autoDeclareProducer: title: Auto Declare Producer description: Specifies whether the producer should auto declare binding between exchange, queue and routing key when starting type: boolean default: false vhost: title: Virtual Host description: The virtual host type: string default: "/" dependencies: - "camel:spring-rabbitmq" - "camel:kamelet" template: beans: - name: connectionFactory type: "#class:org.springframework.amqp.rabbit.connection.CachingConnectionFactory" properties: username: '{{?username}}' password: '{{?password}}' host: '{{host}}' port: '{{port}}' virtualHost: "{{vhost}}" from: uri: "kamelet:source" steps: - to: uri: "spring-rabbitmq://{{exchangeName}}" parameters: connectionFactory: "#bean:{{connectionFactory}}" routingKey: "{{?routingKey}}" queues: "{{?queues}}" autoDeclareProducer: "{{autoDeclareProducer}}"