Mule4 踩坑记:java invoker
坑1: Failed to load class
解决办法:在
处 增加
增加的 “exportedPackages” 是要用的那个class的package
坑2: mule4 required parameter instance XXX resolved to null
我这里首先用java New这个connector init一个instance,按理说后面的invoker应该能拿到这个instance,但是报错说是null
这里有两点首先:
这里用这种格式,我的理解呢vars应该是一个或者类似一个map的东西,它指向我们之前的instance,这个newInvoker类似这个instance的key.
其次呢,我们需要把之前那个instance关联到这个vars上面去
位置是 New(connector)->advanced->Target Variable
项目:
flow:
<flow name="sample-appFlow" doc:id="09588320-b445-4b9d-9c41-070e81b10ce7" >
<http:listener doc:name="Listener" doc:id="33bcc793-18b5-4a0a-8a84-43bab3541ffe" config-ref="HTTP_Listener_config" path="/invoke"/>
<java:new doc:name="newInvoker" doc:id="f2d61a63-7925-4c39-a8fa-362b8989767d" class="demo.InvokeSpringSample" constructor="InvijeSpringSample()" target="newInvoker"/>
<java:invoke doc:name="Invoker" doc:id="50a9a528-0643-4a6e-9604-3e8d973c1c1c" class="demo.InvokeSpringSample" method="methodA()" instance="#[vars.newInvoker]"/>
</flow>
重点是 java:new tag 中的target 和 java:invoke 中的 instance