2017-10-12 5 views

Répondre

0

Il n'y a pas de Spring Integration Java DSL pour JDBC. N'hésitez pas à soulever un JIRA sur le sujet.

Comme la solution de contournement que nous ne avons vraiment pas le choix à moins que l'utilisation StoredProcOutboundGateway classe du .handle() générique EIP méthode:

@Bean 
public StoredProcExecutor storedProcExecutor() { 
    StoredProcExecutor storedProcExecutor = new StoredProcExecutor(this.dataSource); 
    storedProcExecutor.setStoredProcedureName("CREATE_USER_RETURN_ALL"); 
    storedProcExecutor.setIsFunction(true); 
    ... 
    return storedProcExecutor; 
} 

... 

    StoredProcOutboundGateway storedProcOutboundGateway = new StoredProcOutboundGateway(storedProcExecutor()); 
    storedProcOutboundGateway.setExpectSingleResult(true); 
    storedProcOutboundGateway.setRequiresReply(true); 

... 

.handle(storedProcOutboundGateway) 
+0

Merci @Arthem, pour une réponse rapide, que nous avons un exemple de code où tout l'aspect de StoredProcOutboundGateway dans le code java plutôt que dans la configuration xml. J'ai eu un cas d'utilisation où le nom de la procédure stockée et le paramètre feront partie de l'en-tête du message et je cherche à tirer parti de SpEL. Cela peut-il être fait via le code Java (pas XML). Avons-nous une référence ou un code de test unitaire? – Sam

+0

Eh bien, ouais ... malheureusement, il n'y a pas. Cependant, cela devrait être clair que tout est ici à la 'StoredProcExecutor'. Voir ses JavaDocs pour plus d'informations. Si vous avez besoin de 'setStoredProcedureNameExpression (Expression)', vous devriez jeter un oeil dans 'SpelExpressionParser': https://docs.spring.io/spring/docs/5.0.0.RELEASE/spring-framework-reference/core. html # expressions. Pour les paramètres du message, vous devez utiliser 'setProcedureParameters (List )' et utiliser son expression. S'il vous plaît, soulever un JIRA sur le sujet pour ajouter un échantillon à Docs: https://jira.spring.io/browse/INT –

+0

Merci @Arthem, Vos conseils ont aidé. En suivant la référence du document que vous fournissez. maintenant j'ai des composants jdbc avec IntegrationFlow fonctionnant comme charme. – Sam