<spring:bean id="jdbcDataSource" class="org.enhydra.jdbc.standard.StandardDataSource" destroy-method="shutdown"> <spring:property name="driverName" value="com.mysql.jdbc.Driver"/> <spring:property name="url" value="jdbc:mysql://localhost/salesforce?user=root"/> </spring:bean> <jdbc:connector name="jdbcConnector" dataSource-ref="jdbcDataSource"> <jdbc:query key="insertAccount" value="INSERT INTO accounts (id, name, phone) VALUES(#[map-payload:Id], #[map-payload:Name], #[map-payload:Phone]) ON DUPLICATE KEY UPDATE name = VALUES(name), phone = VALUES(phone)"/> </jdbc:connector> <salesforce:config name="sfdc" username="${sfdc.username}" password="${sfdc.password}" securityToken="${sfdc.securityToken}"/> <flow name="main"> <poll frequency="300000"> <salesforce:get-updated type="Account" duration="10"/> </poll> <splitter evaluator="ognl" expression="ids"/> <salesforce:query query="SELECT Id, Name, Phone FROM Account WHERE Id='#[payload]'" batchsize="1"/> <expression-transformer evaluator="ognl" expression="[0]"/> <jdbc:outbound-endpoint queryKey="insertAccount"/> </flow>