spring cloud feign 远程调用初始化报错

NewshiJ 2017-10-30 03:11:50


java.lang.IllegalStateException: ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@17aad511: startup date [Mon Oct 30 15:04:39 CST 2017]; parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@654f0d9c
at org.springframework.context.support.AbstractApplicationContext.getApplicationEventMulticaster(AbstractApplicationContext.java:414) [spring-context-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at org.springframework.context.support.ApplicationListenerDetector.postProcessBeforeDestruction(ApplicationListenerDetector.java:97) ~[spring-context-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:253) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:578) [spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:554) [spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:961) [spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:523) [spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.destroySingletons(FactoryBeanRegistrySupport.java:230) [spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:968) [spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1030) [spring-context-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:556) [spring-context-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) [spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693) [spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360) [spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:303) [spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118) [spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107) [spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
at com.ConsumerStart.main(ConsumerStart.java:15) [classes/:na]

2017-10-30 15:04:42.981 INFO 121664 --- [ main] utoConfigurationReportLoggingInitializer :

Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled.
2017-10-30 15:04:42.987 ERROR 121664 --- [ main] o.s.boot.SpringApplication : Application startup failed

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'methodValidationPostProcessor' defined in class path resource [org/springframework/boot/autoconfigure/validation/ValidationAutoConfiguration.class]: Unsatisfied dependency expressed through method 'methodValidationPostProcessor' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.service.PlayerServiceConsumer': Failed to introspect bean class [org.springframework.cloud.netflix.feign.FeignClientFactoryBean] for lookup method metadata: could not find class that it depends on; nested exception is java.lang.NoClassDefFoundError: feign/Feign$Builder
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:749) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:467) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1173) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1067) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at org.springframework.context.support.PostProcessorRegistrationDelegate.registerBeanPostProcessors(PostProcessorRegistrationDelegate.java:225) ~[spring-context-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:703) ~[spring-context-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:528) ~[spring-context-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693) [spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360) [spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:303) [spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118) [spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107) [spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
at com.ConsumerStart.main(ConsumerStart.java:15) [classes/:na]


...全文
3223 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_40271553 2017-12-29
  • 打赏
  • 举报
回复
版本原因,换个版本试试我的解决了
NewshiJ 2017-11-02
  • 打赏
  • 举报
回复
引用 12 楼 dyc12ii 的回复:
.ClassNotFoundException: feign.Feign$Builder 是不是少包或者包冲突了呢
找不到原因....
你好sun悟空 2017-10-31
  • 打赏
  • 举报
回复
.ClassNotFoundException: feign.Feign$Builder 是不是少包或者包冲突了呢
Braska 2017-10-31
  • 打赏
  • 举报
回复
引用 10 楼 cmmchenmm 的回复:
主要是初始化的时候异常了,能不能根据异常信息给点意见


 at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693) [spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360) [spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:303) [spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118) [spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107) [spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
    at com.ConsumerStart.main(ConsumerStart.java:15) [classes/:na]
你换个spring cloud版本试试看吧,或者先从这段错误一层层debug进去排查。
NewshiJ 2017-10-30
  • 打赏
  • 举报
回复
主要是初始化的时候异常了,能不能根据异常信息给点意见
NewshiJ 2017-10-30
  • 打赏
  • 举报
回复
引用 7 楼 Ragin 的回复:
[quote=引用 6 楼 cmmchenmm 的回复:] 我是希望可以类似于dubbo,定义一个API工程存放实体类型和接口,但是在项目启动时候总是会异常
dubbo可以这样做是因为dubbo的接口在服务端和消费端是通用的。 但是springcloud的消费端接口要@FeignClient等注解,不通用。[/quote] 大神你在帮忙看看
NewshiJ 2017-10-30
  • 打赏
  • 举报
回复

@RestController
@RequestMapping("/playerService")
public class PlayerServiceImpl implements PlayerService{

	@Override
	@RequestMapping("/all")
	public List<Player> getList(@RequestParam("name") String name) {
		Player player = new Player();
		player.setName(name);
		player.setDate(new Date());
		player.setId(1);
		player.setPoints(28.7);
		List<Player> list = new ArrayList<Player>();
		list.add(player);
		return list;
	}

}


@FeignClient(value="spring-cloud-provider")
public interface PlayerServiceConsumer extends PlayerService{
	
	@RequestMapping(value="/playerService/all",method=RequestMethod.GET)
	public List<Player> getList(@RequestParam("name") String name);
}

多贴出一个服务提供方的代码 现在是这个结构但是异常的信息还是一样的
Braska 2017-10-30
  • 打赏
  • 举报
回复
引用 6 楼 cmmchenmm 的回复:
我是希望可以类似于dubbo,定义一个API工程存放实体类型和接口,但是在项目启动时候总是会异常
dubbo可以这样做是因为dubbo的接口在服务端和消费端是通用的。 但是springcloud的消费端接口要@FeignClient等注解,不通用。
NewshiJ 2017-10-30
  • 打赏
  • 举报
回复
引用 5 楼 Ragin 的回复:
[quote=引用 4 楼 cmmchenmm 的回复:] 照你贴的的代码更改还是不行 [quote=引用 3 楼 Ragin 的回复:]

import org.springframework.cloud.netflix.feign.FeignClient;
 
@FeignClient(value="spring-cloud-provider")
public interface PlayerServiceConsumer extends PlayerService{
 
@RequestMapping(value="/playerService/all",method=RequestMethod.GET)
public List<Player> getList(@RequestParam("name") String name);
}
[/quote] 不好意思看错了,spring cloud是基于RESTful风格的. /playerService/all这个地址应该写你服务提供方的地址。 PlayerService这个类没什么用,可以不继承的。[/quote] 我是希望可以类似于dubbo,定义一个API工程存放实体类型和接口,但是在项目启动时候总是会异常
Braska 2017-10-30
  • 打赏
  • 举报
回复
引用 4 楼 cmmchenmm 的回复:
照你贴的的代码更改还是不行 [quote=引用 3 楼 Ragin 的回复:]

import org.springframework.cloud.netflix.feign.FeignClient;
 
@FeignClient(value="spring-cloud-provider")
public interface PlayerServiceConsumer extends PlayerService{
 
@RequestMapping(value="/playerService/all",method=RequestMethod.GET)
public List<Player> getList(@RequestParam("name") String name);
}
[/quote] 不好意思看错了,spring cloud是基于RESTful风格的. /playerService/all这个地址应该写你服务提供方的地址。 PlayerService这个类没什么用,可以不继承的。
NewshiJ 2017-10-30
  • 打赏
  • 举报
回复
照你贴的的代码更改还是不行
引用 3 楼 Ragin 的回复:

import org.springframework.cloud.netflix.feign.FeignClient;
 
@FeignClient(value="spring-cloud-provider")
public interface PlayerServiceConsumer extends PlayerService{
 
@RequestMapping(value="/playerService/all",method=RequestMethod.GET)
public List<Player> getList(@RequestParam("name") String name);
}
Braska 2017-10-30
  • 打赏
  • 举报
回复

import org.springframework.cloud.netflix.feign.FeignClient;
 
@FeignClient(value="spring-cloud-provider")
public interface PlayerServiceConsumer extends PlayerService{
 
@RequestMapping(value="/playerService/all",method=RequestMethod.GET)
public List<Player> getList(@RequestParam("name") String name);
}
NewshiJ 2017-10-30
  • 打赏
  • 举报
回复

import java.util.List;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import com.model.Player;
@RequestMapping("/playerService")
public interface PlayerService {
	
	@RequestMapping(value="/all",method=RequestMethod.GET)
	List<Player> getList(@RequestParam("name") String name);
}

import org.springframework.cloud.netflix.feign.FeignClient;

@FeignClient(value="spring-cloud-provider")
public interface PlayerServiceConsumer extends PlayerService{

}


@Controller
@RequestMapping("/test")
public class TestController {
	@Autowired
	private PlayerServiceConsumer playerService;
	
	
	@RequestMapping("/rpc/{name}")
	public Object rpc(@PathVariable String name) {
		List<Player> list = playerService.getList(name);
		return list;
	}
}
NewshiJ 2017-10-30
  • 打赏
  • 举报
回复

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.service.PlayerServiceConsumer': Failed to introspect bean class [org.springframework.cloud.netflix.feign.FeignClientFactoryBean] for lookup method metadata: could not find class that it depends on; nested exception is java.lang.NoClassDefFoundError: feign/Feign$Builder
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:269) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineConstructorsFromBeanPostProcessors(AbstractAutowireCapableBeanFactory.java:1118) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1091) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getSingletonFactoryBeanForTypeCheck(AbstractAutowireCapableBeanFactory.java:923) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryBean(AbstractAutowireCapableBeanFactory.java:804) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.isTypeMatch(AbstractBeanFactory.java:558) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:432) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:395) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
	at org.springframework.beans.factory.BeanFactoryUtils.beanNamesForTypeIncludingAncestors(BeanFactoryUtils.java:220) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1267) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1101) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1066) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
	at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:835) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:741) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
	... 19 common frames omitted
Caused by: java.lang.NoClassDefFoundError: feign/Feign$Builder
	at java.lang.Class.getDeclaredMethods0(Native Method) ~[na:1.8.0_131]
	at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) ~[na:1.8.0_131]
	at java.lang.Class.getDeclaredMethods(Class.java:1975) ~[na:1.8.0_131]
	at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:613) ~[spring-core-4.3.12.RELEASE.jar:4.3.12.RELEASE]
	at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:524) ~[spring-core-4.3.12.RELEASE.jar:4.3.12.RELEASE]
	at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:510) ~[spring-core-4.3.12.RELEASE.jar:4.3.12.RELEASE]
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:247) ~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
	... 32 common frames omitted
Caused by: java.lang.ClassNotFoundException: feign.Feign$Builder
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_131]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_131]
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) ~[na:1.8.0_131]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_131]
	... 39 common frames omitted
输入框限制了字符串的长度,这里是剩下的错误信息代码

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧