微服务启动报错:java.lang.IllegalStateException: Service id not legal hostname (/tope-pay-server/padAccoud)

                      

问题描述:调用微服务: 微服务间部署再Nacos的同一个命名空间;

在启动该服务时,报错信息如下:


java.lang.IllegalStateException: Service id not legal hostname (/tope-pay-server/padAccount)
	at org.springframework.util.Assert.state(Assert.java:73) ~[spring-core-5.2.4.RELEASE.jar:5.2.4.RELEASE]
	at org.springframework.cloud.openfeign.FeignClientsRegistrar.getName(FeignClientsRegistrar.java:103) ~[spring-cloud-openfeign-core-2.2.2.RELEASE.jar:2.2.2.RELEASE]
	at org.springframework.cloud.openfeign.FeignClientsRegistrar.getName(FeignClientsRegistrar.java:278) ~[spring-cloud-openfeign-core-2.2.2.RELEASE.jar:2.2.2.RELEASE]
	at org.springframework.cloud.openfeign.FeignClientsRegistrar.registerFeignClient(FeignClientsRegistrar.java:233) ~[spring-cloud-openfeign-core-2.2.2.RELEASE.jar:2.2.2.RELEASE]
	at org.springframework.cloud.openfeign.FeignClientsRegistrar.registerFeignClients(FeignClientsRegistrar.java:219) ~[spring-cloud-openfeign-core-2.2.2.RELEASE.jar:2.2.2.RELEASE]
	at org.springframework.cloud.openfeign.FeignClientsRegistrar.registerBeanDefinitions(FeignClientsRegistrar.java:144) ~[spring-cloud-openfeign-core-2.2.2.RELEASE.jar:2.2.2.RELEASE]
	at org.springframework.context.annotation.ImportBeanDefinitionRegistrar.registerBeanDefinitions(ImportBeanDefinitionRegistrar.java:86) ~[spring-context-5.2.4.RELEASE.jar:5.2.4.RELEASE]
	at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.lambda$loadBeanDefinitionsFromRegistrars$1(ConfigurationClassBeanDefinitionReader.java:385) ~[spring-context-5.2.4.RELEASE.jar:5.2.4.RELEASE]
	at java.util.LinkedHashMap.forEach(LinkedHashMap.java:684) ~[na:1.8.0_151]
	at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsFromRegistrars(ConfigurationClassBeanDefinitionReader.java:384) ~[spring-context-5.2.4.RELEASE.jar:5.2.4.RELEASE]

 报错信息明细:描述Service id 非法,不支持:排查返现 ,PayWebConst.PAY_SERVER 常量多加了一个了反斜杠"/",去掉后正常运行;

PayWebConst配置类如下:

/**
 * 支付中心管理后台API常量定义
 * @author yh
 * @since 2021-03-15 15:00:00
 * @version 1.0
 *
 */
public class PayWebConst {
	
	private PayWebConst() {
	}
	
	/** 支付系统服务名 */
	public static final String PAY_SERVER = "/tope-pay-server";
}

引出的问题: 微服务Feign调用间的@FeignClient 调用的两种配置:

(1)方法路径的配置一;这种配置原则为当互访的微服务间不在同一个命名空间时,通过网关url地址方式,此时配置路径

/**
 * 订单推送重发服务
 * 
 * @author yangh
 * @since 2021-04-19 10:13:00
 * @version 1.0
 */
@FeignClient(name="feignPushOrderService", url = "${feign_api_url.internalGatewayUrl}" + PayWebConst.PAY_SERVER + "/pushOrder", fallbackFactory = FeignPushOrderServiceFallbackFactory.class)
public interface FeignPushOrderService {
 }

(2) 当微服务在同一个命名空间注册时,可以使用下面的配置方式:


/**
 * 订单推送重发服务
 * 
 * @author yangh
 * @since 2021-04-19 10:13:00
 * @version 1.0
 */
@FeignClient(contextId="feignPushOrderService", value = PayWebConst.PAY_SERVER + "/pushOrder", fallbackFactory = FeignPushOrderServiceFallbackFactory.class)
public interface FeignPushOrderService {


	/**
	 * 消息重发
	 * @param pushOrderId  推送记录ID
	 * @param from         权限标识
	 */
	@PostMapping("/reSendMsg")
	PayResult<String> reSendMessage(@RequestParam("pushOrderId") String pushOrderId, @RequestHeader(SecurityConstants.FROM) String from);
}

                    

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值