如何从 amq broker redhat 路由或消费到 postgresql?

how to route or consume from amq broker redhat to postgresql?

我想使用来自我的 AMQ 7 队列的消息并将其插入到 postgresql 数据库中。我正在使用 spring 骆驼。到目前为止,我已经做到了

<route id="simple-route">
    <from uri="amqp:queue:tes"/>
    <log id="route-log" message=">>> ${body} testing message in body"/>
    <to uri="amqp:queue:simpleQueue"/>
    <log message="${in.body}" />
</route>
<bean id="amqp" class="org.apache.camel.component.amqp.AMQPComponent">
    <property name="connectionFactory">
        <bean class="org.apache.qpid.jms.JmsConnectionFactory">
            <property name="username" value="admin" />
            <property name="password" value="password"/>
            <property name="remoteURI" value="amqp://192.168.150.5:5672" />
        </bean>
    </property>
</bean>

我很困惑如何在该 uri 中写入以插入到 postgre 中。我在队列中的数据是 json 类型。

要将数据直接插入数据库,您可以选择使用 camel sql 组件

<to uri="sql:insert into postgre_table (record_id, record_text) values (:#${header.record_id}, :#${header.record_text})?dataSource=#PostgreDataSource"/>

您的数据源应该类似于

<bean id="PostgreDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="org.postgresql.Driver"/>
    <property name="url" value="jdbc:postgresql://localhost:5432/postgre"/>
    <property name="username" value="user"/>
    <property name="password" value="password"/>
</bean>