如何从 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>
我想使用来自我的 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>