问题描述

在调用HSF服务时,根据配置的单元化参数route获取userId时发生了异常,详细报错如下:

java.lang.IllegalArgumentException: invalid route while WriteMode=unit, route : -1

问题原因

出现该错误,则代表route所指定参数位置不正确。

解决方案

单元化属性route表示的是userId在参数列表中的下标,需要配置为非负数,且不能超过方法参数的个数,默认是0,0表示第一位,示例配置如下:

<bean id="helloWorldServiceProvider"
       init-method="init">
       <property name="serviceInterface">
           <value>com.taobao.hsf.jar.test.HelloWorldService</value>
       </property>
       <property name="target">
           <ref bean="helloWorldServiceImpl" />
       </property>
       <property name="serviceVersion">
           <value>1.0.zhouli</value>
       </property>
      <property name="writeMode">
           <value>center</value>
       </property>
      <property name="route">
           <value>0</value>
       </property>
</bean>

适用于

  • 企业级分布式应用服务EDAS

如果您的问题仍未解决,您可以在阿里云社区免费咨询提交工单联系阿里云技术支持。