相关疑难解决方法(0)

SpringBoot中的配置顺序

我试图了解我们使用@Configuration制作的bean如何覆盖默认情况下由SpringBoot生成的bean.我一直致力于一个项目,在很多情况下我们为像ZuulConfigs这样的东西创建bean,并且假设是,无论我们做什么,都应优先于默认生成的bean.我一直试图解决这个问题,但不能.基本上,

  1. Spring是通过一些自定义类加载器实现的
  2. 如果不是这个优先级如何工作.我可以用与bean类似的方式给出一些优先权
  3. 我可以在项目中生成类似的层次结构,如果是这样的话

非常感谢帮助

java spring spring-boot

6
推荐指数
4
解决办法
3万
查看次数

同一班级不可分配。同一个类的类加载器不同

我有用于从 Kafka 主题读取 avro 消息的 spring 程序。当消息读取发生异常时:

org.springframework.messaging.converter.MessageConversionException:无法从 [com.mycompany.myapp.domain.avro.GreetingRecord] 转换为 [com.mycompany.myapp.domain.avro.GreetingRecord]

在调试中,我看到 ClassUtils.isAssignable 为同一类返回 false:

Class <?> targetClass = parameter.getParameterType();
Class <?> payloadClass = payload.getClass();
if (ClassUtils.isAssignable(targetClass, payloadClass)) { // return false for same class
    this.validate(message, parameter, payload);
    return payload;
} else {
    if (this.converter instanceof SmartMessageConverter) {
        SmartMessageConverter smartConverter = (SmartMessageConverter)this.converter;
        payload = smartConverter.fromMessage(message, targetClass, parameter);
    } else {
        payload = this.converter.fromMessage(message, targetClass);
    }
}
Run Code Online (Sandbox Code Playgroud)

我发现 targetClass 和 payloadClass 中的类加载器不同(RestartClassLoaderLauncher$AppClassLoader

目标(有效载荷)类定义:

/**
 * Autogenerated by …
Run Code Online (Sandbox Code Playgroud)

java spring

5
推荐指数
1
解决办法
969
查看次数

如何在OSGi包中使用Spring bean?

我有一个应用程序,我必须使用Spring根据OSGi包中的一些业务条件加载bean.这个bean不用于导出,用于计算inisde我的包.基本上我有一个实际的服务组件,它被导出,并且它必须在内部使用这个Spring bean.但...

  1. 当我使用Spring DM时,扩展程序在单独的线程中加载应用程序上下文.如何访问我的包中的上下文文件?
  2. 如何确保扩展程序线程完成加载应用程序上下文,以便我可以在我的包中使用它?
  3. 我不想像Spring DM那样将应用程序上下文导出为服务,因为它仅在我的bundle中用于内部目的.

有没有办法做到这一点?

java spring osgi spring-dm

4
推荐指数
1
解决办法
4913
查看次数

标签 统计

java ×3

spring ×3

osgi ×1

spring-boot ×1

spring-dm ×1