塔奇库玛 2022-11-02 19:16
浏览 23
已结题

dubbo配置application.properties和xml的兼容问题

springboot集成dubbo,想在application.propertise配置application,protocol,registry这些信息,然后通过@ImportResource的方式引入reference的配置,这两种配置是不是不兼容。各个配置文件以及报错如下。我的需求就是用application配置dubbo的全局信息,然后用xml文件的方式来管理reference,不使用注解。忘不吝赐教。

报错信息
Caused by: java.lang.IllegalStateException: ApplicationConfig.application == null

@SpringBootApplication
@EnableDubbo
@ImportResource("classpath:consumer.xml")
public class DubboConsumerApplication {

    public static void main(String[] args) {
        SpringApplication.run(DubboConsumerApplication.class, args);
    }

}

application.properties

dubbo.application.name = dubbo-consumer
demo.service.version = 1.0.0
dubbo.protocol.name = dubbo
dubbo.protocol.port = 20881

dubbo.registry.address = zookeeper://127.0.0.1:2181
dubbo.consumer.timeout = 6000

consumer.xml

<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
       xmlns="http://www.springframework.org/schema/beans"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
       http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd">

    
    <dubbo:reference id="helloService" check="false" interface="com.czh.api.service.HelloService"/>
</beans>
@RestController
public class HelloConsumerController {
    @Autowired
    private HelloService helloService;

    @RequestMapping("/sayHello/{name}")
    public String sayHello(@PathVariable("name") String name) {
        System.out.println("参数="+name);
        return helloService.sayHello(name);
    }

}

报错信息

Caused by: org.springframework.beans.factory.BeanCreationException: 
Error creating bean with name 'helloService': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalStateException: ApplicationConfig.application == null
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:178) ~[spring-beans-5.1.7.RELEASE.jar:5.1.7.RELEASE]
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:101) ~[spring-beans-5.1.7.RELEASE.jar:5.1.7.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1674) ~[spring-beans-5.1.7.RELEASE.jar:5.1.7.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getObjectForBeanInstance(AbstractAutowireCapableBeanFactory.java:1249) ~[spring-beans-5.1.7.RELEASE.jar:5.1.7.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:257) ~[spring-beans-5.1.7.RELEASE.jar:5.1.7.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.1.7.RELEASE.jar:5.1.7.RELEASE]
    at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:277) ~[spring-beans-5.1.7.RELEASE.jar:5.1.7.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.addCandidateEntry(DefaultListableBeanFactory.java:1471) ~[spring-beans-5.1.7.RELEASE.jar:5.1.7.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1428) ~[spring-beans-5.1.7.RELEASE.jar:5.1.7.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1211) ~[spring-beans-5.1.7.RELEASE.jar:5.1.7.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1168) ~[spring-beans-5.1.7.RELEASE.jar:5.1.7.RELEASE]
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:593) ~[spring-beans-5.1.7.RELEASE.jar:5.1.7.RELEASE]
    ... 19 common frames omitted
Caused by: java.lang.IllegalStateException: ApplicationConfig.application == null
    at com.alibaba.dubbo.config.AbstractConfig.appendParameters(AbstractConfig.java:237) ~[dubbo-2.6.9.jar:2.6.9]
    at com.alibaba.dubbo.config.AbstractConfig.appendParameters(AbstractConfig.java:172) ~[dubbo-2.6.9.jar:2.6.9]
    at com.alibaba.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:305) ~[dubbo-2.6.9.jar:2.6.9]
    at com.alibaba.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:164) ~[dubbo-2.6.9.jar:2.6.9]
    at com.alibaba.dubbo.config.spring.ReferenceBean.getObject(ReferenceBean.java:67) ~[dubbo-2.6.9.jar:2.6.9]
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:171) ~[spring-beans-5.1.7.RELEASE.jar:5.1.7.RELEASE]
    ... 30 common frames omitted
Caused by: java.lang.IllegalStateException: ApplicationConfig.application == null
    at com.alibaba.dubbo.config.AbstractConfig.appendParameters(AbstractConfig.java:222) ~[dubbo-2.6.9.jar:2.6.9]
    ... 35 common frames omitted

Disconnected from the target VM, address: '127.0.0.1:53341', transport: 'socket'

Process finished with exit code 1


  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 11月10日
    • 创建了问题 11月2日

    悬赏问题

    • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
    • ¥15 Linux权限管理相关操作(求解答)
    • ¥15 Bug traq 数据包 大概什么价
    • ¥15 在anaconda上pytorch和paddle paddle下载报错
    • ¥25 自动填写QQ腾讯文档收集表
    • ¥15 DbVisualizer Pro 12.0.7 sql commander光标错位 显示位置与实际不符
    • ¥15 求一份STM32F10X的I2S外设库
    • ¥15 android 打包报错
    • ¥15 关于stm32的问题
    • ¥15 ncode振动疲劳分析中,noisefloor如何影响PSD函数?