物联网平台,升级架构升级为Boot版后,消息插件MQTT启动失败

Blade 未结 2 122
hou52127
hou52127 剑圣 2025-07-19 11:10

一、该问题的重现步骤是什么?

1. BladeX 物联网平台,按照操作手册升级为Boot版后,集成消息插件plugin.message,配置MQTT后启动失败

2. 

3.


二、你期待的结果是什么?实际看到的又是什么?


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

BladeX物联网平台1.2.0,集成Boot版4.2.0,Windows系统


四、请提供详细的错误堆栈信息,这很重要。


org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'myMqttServer': Invocation of init method failed

at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:222)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:422)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1798)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522)

at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:337)

at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)

at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:335)

at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200)

at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:975)

at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:971)

at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:625)

at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146)

at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754)

at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456)

at org.springframework.boot.SpringApplication.run(SpringApplication.java:335)

at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:149)

at org.springblade.core.launch.BladeApplication.run(BladeApplication.java:59)

at org.springblade.ServerApplication.main(ServerApplication.java:45)

Caused by: java.lang.VerifyError: Bad type on operand stack

Exception Details:

  Location:

    net/dreamlu/iot/mqtt/core/util/timer/DefaultAckService.addTask(Ljava/lang/Runnable;II)Lnet/dreamlu/iot/mqtt/core/util/timer/AckTimerTask; @22: invokevirtual

  Reason:

    Type 'net/dreamlu/iot/mqtt/core/util/timer/AckTimerTask' (current frame, stack[1]) is not assignable to 'net/dreamlu/iot/mqtt/core/util/timer/TimerTask'

  Current Frame:

    bci: @22

    flags: { }

    locals: { 'net/dreamlu/iot/mqtt/core/util/timer/DefaultAckService', 'java/lang/Runnable', integer, integer, 'net/dreamlu/iot/mqtt/core/util/timer/AckTimerTask' }

    stack: { 'net/dreamlu/iot/mqtt/core/util/timer/SystemTimer', 'net/dreamlu/iot/mqtt/core/util/timer/AckTimerTask' }

  Bytecode:

    0000000: bb00 0e59 2ab4 000c 2b1c 1db7 000f 3a04

    0000010: 2ab4 000c 1904 b600 1019 04b0          


at net.dreamlu.iot.mqtt.core.server.MqttServerCreator.build(MqttServerCreator.java:561)

at net.dreamlu.iot.mqtt.core.server.MqttServerCreator.start(MqttServerCreator.java:619)

at org.springblade.plugin.message.mqtt.MyMqttServer.start(MyMqttServer.java:84)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.base/java.lang.reflect.Method.invoke(Method.java:568)

at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMethod.invoke(InitDestroyAnnotationBeanPostProcessor.java:457)

at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:401)

at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:219)

... 18 common frames omitted


五、若有更多详细信息,请在下面提供。

2条回答
  • 2025-07-19 11:30

    单独起一个新的blade-message服务做消息插件的mqtt服务器对接,或者直接用blade-broker自带的服务,不能两个混用

    0 讨论(1)
  • 2025-07-19 14:29

    我想实现这个消息弹窗的效果,在物联网集成的Boot版里可以直接调用blade-broker的服务吗?


    1752906570196.jpg

    0 讨论(0)
代码语言
提交回复