0

我在一个 Spring 集成项目中工作,流程很简单。我从消息通道收到一条消息并将其转发到我自己的自定义编写的路由器。路由器根据消息类型和一些外部哈希映射值,通过通道将消息转发给转换器。一切,路由器和转换器都在 Java 中。现在我必须扩展我的项目,以便能够调用由非 Java 语言(如 ruby​​、python、groovy 等)编写的转换器。我已经看到这些语言中的非 Java 代码如何在 Spring 上下文中建模为 bean。但是,我不确定如何在 Spring Integration 中调用非 Java 转换器。任何指针或示例示例/代码都会非常有帮助。

4

1 回答 1

1

看一下spring-integration-scripting模块;例如...

<service-activator input-channel="referencedScriptInput">
    <script:script 
            lang="python"
            location="org/springframework/integration/scripting/config/jsr223/Jsr223ServiceActivatorTests.py">
        <script:variable name="foo" value="foo"/>
        <script:variable name="bar" value="bar"/>
        <script:variable name="date" ref="date"/>
    </script:script>
</service-activator>

<transformer input-channel="referencedScriptInput">
    <script:script
    lang="ruby" 
    location="org/springframework/integration/scripting/config/jsr223/Jsr223TransformerTests.rb"/>
</transformer>

文档在这里... http://static.springsource.org/spring-integration/reference/html/messaging-endpoints-chapter.html#scripting

于 2013-01-08T15:51:05.640 回答