Я настроил адаптер входящего канала MongoDB. Однако адаптер входящего канала работает не так, как ожидалось. Я попробовал адаптер исходящего канала и смог написать некоторый контент в БД. Кажется, что соединение выполнено успешно, но поиск данных не увенчался успехом. Я не вижу, чтобы что-то было журналом. Может ли кто-нибудь указать, что мне не хватает?Spring Integration - адаптер входящего канала MongoDB не работает
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:int="http://www.springframework.org/schema/integration"
xmlns:int-jms="http://www.springframework.org/schema/integration/jms"
xmlns:int-mongodb="http://www.springframework.org/schema/integration/mongodb"
xmlns:int-http="http://www.springframework.org/schema/integration/http"
xsi:schemaLocation="http://www.springframework.org/schema/integration http://www.springframework.org/schema/integration/spring-integration.xsd
http://www.springframework.org/schema/integration/jms http://www.springframework.org/schema/integration/jms/spring-integration-jms-2.0.xsd
http://www.springframework.org/schema/integration/mongodb http://www.springframework.org/schema/integration/mongodb/spring-integration-mongodb.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/integration/http http://www.springframework.org/schema/integration/http/spring-integration-http.xsd">
<bean id="mongoDBFactory"
class="org.springframework.data.mongodb.core.SimpleMongoDbFactory">
<constructor-arg name="mongo">
<bean class="com.mongodb.Mongo">
<constructor-arg name="host" value="localhost" />
<constructor-arg name="port" value="27017" />
</bean>
</constructor-arg>
<constructor-arg name="databaseName" value="test" />
</bean>
<int-mongodb:inbound-channel-adapter
id="mongoInboundAdapter" channel="mongoChannel" expect-single-result="true"
query="{'_id' : '10'}" entity-class="com.test.si.prototype.model.Order"
collection-name="orders" auto-startup="false"
mongodb-factory="mongoDBFactory">
<int:poller fixed-rate="1000" />
</int-mongodb:inbound-channel-adapter>
<int:channel id="mongoChannel" />
<int:logging-channel-adapter id="logger"
auto-startup="true" log-full-message="true" level="INFO" channel="mongoChannel" />
<int:service-activator input-channel="mongoChannel"
ref="messageListenerImpl" method="processMessage" />
<bean id="messageListenerImpl" class="com.test.si.prototype.service.MessageListenerImpl"></bean>
</beans>
Я попытался удалить 'auto-startup =" false "' также. Это не сработало. Я уверен, что документ с 'id == 10' существует. 'db.orders.find ({" _ id ":" 10 "})' возвращает единый документ во время работы с БД. – nebula
'auto-startup =" true "' не имеет никакого эффекта. – nebula
Действительно ли ваш 'заказ' находится в базе данных' test'? –