首页 > 解决方案 > Mule 注册表 [Mule 4] 中未定义元素“springService”

问题描述

我在 mule 4 中遇到 bean 问题。尝试调用 java 时出错:

Mule 注册表中未定义元素“springService”

运行时发生错误。

我已经创建了 configuration.xml 并声明了 spring config:

<spring:config name="springConfig" doc:name="springConfig" files="beans.xml" />

然后在 /src/main/resources 中创建 beans.xml:

<beans ...>
  <context:component-scan base-package="com.services" />
</beans>

com.services 是一个外部服务,它有一个类:

@Service
public class SpringService {
...
}

EDIT1:我试图调用java方法的方式:

<java:invoke doc:name="Get data" doc:id="id" class="com.services.SpringService" method="#[getData(String)]" instance="springService">
          <java:args><![CDATA[#[{name: vars.name}]]]></java:args>
</java:invoke>

堆栈跟踪:

消息:Mule 注册表中未定义元素“springService”

元素:test-flow/processors/2@test-service:test.xml:14(获取数据)

元素 DSL:<java:invoke doc:name="Get data" doc:id="id" class="com.services.SpringService" method="#[getData(String)]" instance="springService"> java: args#[{name: vars.name}]</java:args> </java:invoke> 错误类型:MULE:UNKNOWN

FlowStack:在 test-flow(test-flow/processors/2 @ test-service:test.xml:14 (Get Data)) 在 get:\getData(name):test-api-config(get:\getData(name) ):test-api-config/processors/0 @ test-service:test-api.xml:125 (获取数据)) 在 test-api-main(test-api-main/processors/0 @ test-service:test -api.xml:15)

标签: springmule4

解决方案


Java 模块的文档并没有说它可以调用 Spring bean 实例。示例总是提到使用模块的新操作来创建实例。至少如果可能的话,它没有记录如何。当前版本的 Java 模块可能不支持。


推荐阅读