#java #mongodb #mule #mule-component #anypoint-studio
#java #mongodb #mule #mule-компонент #anypoint-studio
Вопрос:
невозможно опросить данные из соединителя mongodb 4.4.0 в anypoint studio mule 3.9
У меня есть коллекции в mongodb, в которых ежедневно добавляется около 1000 записей, я пытался получить все отдельные записи и использовать cron scheduler или планировщик с фиксированной частотой в любой точке, чтобы получать эти записи в час. По-видимому, mongodb не удалось извлечь записи
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:mongo="http://www.mulesoft.org/schema/mule/mongo" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/mongo http://www.mulesoft.org/schema/mule/mongo/current/mule-mongo.xsd">
<flow name="_mlFlow">
<poll doc:name="Poll">
<fixed-frequency-scheduler frequency="20" timeUnit="SECONDS"/>
<mongo:find-documents config-ref="Mongo_DB" collection="actions" limit="20" doc:name="Mongo DB"/>
</poll>
<logger message="#[payload]" level="INFO" doc:name="Logger"/>
</flow>
</mule>
Комментарии:
1. можете ли вы опубликовать больше информации о том, что не работает? сообщение об ошибке и т.д.
2. Не удалось преобразовать из «java.lang. Строка «в»org.bson. Документ» readStartDocument может быть вызван только тогда, когда CurrentBSONType равен DOCUMENT, а не когда CurrentBSONType равен END_OF_DOCUMENT
Ответ №1:
При захвате результирующего набора необходимо преобразование.
<flow name="_mlFlow">
<poll doc:name="Poll">
<fixed-frequency-scheduler frequency="20" timeUnit="SECONDS"/>
<mongo:find-documents config-ref="Mongo_DB" collection="actions" limit="20" doc:name="Mongo DB"/>
</poll>
<dw:transform-message doc:name="prepForMongo">
<dw:set-payload><![CDATA[%dw 1.0
%output application/json
---
payload]]></dw:set-payload>
</dw:transform-message>
<logger message="#[payload]" level="INFO" doc:name="Logger"/>
</flow>
Ответ №2:
Можете ли вы попробовать удалить область опроса и использовать только соединитель mongo DB.Это должно устранить ошибку.