【问题标题】:Spring Pulsar listener does not receive messagesSpring Pulsar 监听器收不到消息
【发布时间】:2023-01-30 00:28:42
【问题描述】:

编辑: 问题是我的@PulsarListener 所在的类不是 Spring Bean,因此没有被发现。添加 @Service 注释解决了问题。

我在 Spring Boot 3.0.1 项目中并使用 org.springframework.pulsar:spring-pulsar-spring-boot-starter 的 0.1.1-SNAPSHOT 版本。

我在 arm64 Mac 上,但我运行的是 x86 JDK (19.0.2-amzn),因为 conscrypt 尚不支持 arm64。

我能够成功发布消息,但我没有收到任何消息。

除非我为org.apache.pulsar打开debug日志记录,否则日志中没有异常。使用调试日志记录,我得到以下异常:

ava.lang.ClassNotFoundException: org.apache.pulsar.shade.org.apache.pulsar.policies.data.loadbalancer.LoadManagerReport
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[na:na]
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) ~[na:na]
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[na:na]
    at java.base/java.lang.Class.forName0(Native Method) ~[na:na]
    at java.base/java.lang.Class.forName(Class.java:495) ~[na:na]
    at java.base/java.lang.Class.forName(Class.java:474) ~[na:na]
    at org.springframework.boot.devtools.restart.classloader.RestartClassLoader.loadClass(RestartClassLoader.java:121) ~[spring-boot-devtools-3.0.1.jar:3.0.1]
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[na:na]
    at java.base/java.lang.Class.forName0(Native Method) ~[na:na]
    at java.base/java.lang.Class.forName(Class.java:495) ~[na:na]
    at java.base/java.lang.Class.forName(Class.java:474) ~[na:na]
    at org.apache.pulsar.shade.org.apache.commons.lang3.ClassUtils.getClass(ClassUtils.java:1069) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.shade.org.apache.commons.lang3.ClassUtils.getClass(ClassUtils.java:1135) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.shade.org.apache.commons.lang3.ClassUtils.getClass(ClassUtils.java:1118) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.common.util.ObjectMapperFactory.setAnnotationsModule(ObjectMapperFactory.java:203) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.common.util.ObjectMapperFactory.create(ObjectMapperFactory.java:117) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.springframework.pulsar.autoconfigure.AuthParameterUtils.maybeConvertToEncodedParamString(AuthParameterUtils.java:65) ~[spring-pulsar-spring-boot-autoconfigure-0.1.1-20230128.101302-74.jar:0.1.1-SNAPSHOT]
    at org.springframework.boot.context.properties.PropertyMapper$Source.lambda$as$2(PropertyMapper.java:197) ~[spring-boot-3.0.1.jar:3.0.1]
    at org.springframework.boot.context.properties.PropertyMapper$Source.to(PropertyMapper.java:291) ~[spring-boot-3.0.1.jar:3.0.1]
    at org.springframework.pulsar.autoconfigure.PulsarProperties$Client.buildProperties(PulsarProperties.java:1616) ~[spring-pulsar-spring-boot-autoconfigure-0.1.1-20230128.101302-74.jar:0.1.1-SNAPSHOT]
    at org.springframework.pulsar.autoconfigure.PulsarProperties.buildClientProperties(PulsarProperties.java:113) ~[spring-pulsar-spring-boot-autoconfigure-0.1.1-20230128.101302-74.jar:0.1.1-SNAPSHOT]
    at org.springframework.pulsar.autoconfigure.PulsarAutoConfiguration.pulsarClientConfiguration(PulsarAutoConfiguration.java:75) ~[spring-pulsar-spring-boot-autoconfigure-0.1.1-20230128.101302-74.jar:0.1.1-SNAPSHOT]
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na]
    at java.base/java.lang.reflect.Method.invoke(Method.java:578) ~[na:na]
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:139) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ~[spring-beans-6.0.3.jar:6.0.3]
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:491) ~[spring-beans-6.0.3.jar:6.0.3]
    [...]
java.lang.IllegalArgumentException: Failed to load any of the given libraries: [netty_tcnative_osx_x86_64, netty_tcnative_x86_64, netty_tcnative]
    at org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:114) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.shade.io.netty.handler.ssl.OpenSsl.loadTcNative(OpenSsl.java:705) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.shade.io.netty.handler.ssl.OpenSsl.<clinit>(OpenSsl.java:146) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.shade.io.netty.handler.ssl.SslContext.defaultProvider(SslContext.java:124) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.shade.io.netty.handler.ssl.SslContext.defaultClientProvider(SslContext.java:120) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.shade.io.netty.handler.ssl.SslContext.newClientContextInternal(SslContext.java:817) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.shade.io.netty.handler.ssl.SslContextBuilder.build(SslContextBuilder.java:611) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.common.util.SecurityUtility.createNettySslContextForClient(SecurityUtility.java:303) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.common.util.SecurityUtility.createNettySslContextForClient(SecurityUtility.java:287) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.common.util.SecurityUtility.createNettySslContextForClient(SecurityUtility.java:211) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.client.impl.PulsarChannelInitializer.lambda$new$0(PulsarChannelInitializer.java:122) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.client.util.ObjectCache.get(ObjectCache.java:48) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.client.impl.PulsarChannelInitializer.lambda$initTls$1(PulsarChannelInitializer.java:171) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.shade.io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.shade.io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.shade.io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.shade.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.shade.io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:995) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.shade.io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.shade.io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at java.base/java.lang.Thread.run(Thread.java:1589) ~[na:na]
    Suppressed: java.lang.UnsatisfiedLinkError: could not load a native library: org_apache_pulsar_shade_netty_tcnative_osx_x86_64
        at org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:239) ~[pulsar-client-all-2.10.2.jar:2.10.2]
        at org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:105) ~[pulsar-client-all-2.10.2.jar:2.10.2]
        ... 20 common frames omitted
    Caused by: java.io.FileNotFoundException: META-INF/native/liborg_apache_pulsar_shade_netty_tcnative_osx_x86_64.jnilib
        at org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:181)
        ... 21 common frames omitted
        Suppressed: java.lang.UnsatisfiedLinkError: no org_apache_pulsar_shade_netty_tcnative_osx_x86_64 in java.library.path: /Users/mhellber/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
            at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2444)
            at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:848)
            at java.base/java.lang.System.loadLibrary(System.java:2047)
            at org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38)
            at org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:391)
            at org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:161)
            ... 21 common frames omitted
            Suppressed: java.lang.UnsatisfiedLinkError: no org_apache_pulsar_shade_netty_tcnative_osx_x86_64 in java.library.path: /Users/mhellber/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
                at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2444)
                at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:848)
                at java.base/java.lang.System.loadLibrary(System.java:2047)
                at org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38)
                at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
                at java.base/java.lang.reflect.Method.invoke(Method.java:578)
                at org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryLoader$1.run(NativeLibraryLoader.java:425)
                at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
                at org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryLoader.loadLibraryByHelper(NativeLibraryLoader.java:417)
                at org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:383)
                ... 22 common frames omitted
    Suppressed: java.lang.UnsatisfiedLinkError: could not load a native library: org_apache_pulsar_shade_netty_tcnative_x86_64
        at org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:239) ~[pulsar-client-all-2.10.2.jar:2.10.2]
        at org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:105) ~[pulsar-client-all-2.10.2.jar:2.10.2]
        ... 20 common frames omitted
    Caused by: java.io.FileNotFoundException: META-INF/native/liborg_apache_pulsar_shade_netty_tcnative_x86_64.jnilib
        at org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:181)
        ... 21 common frames omitted
        Suppressed: java.lang.UnsatisfiedLinkError: no org_apache_pulsar_shade_netty_tcnative_x86_64 in java.library.path: /Users/mhellber/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
            at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2444)
            at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:848)
            at java.base/java.lang.System.loadLibrary(System.java:2047)
            at org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38)
            at org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:391)
            at org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:161)
            ... 21 common frames omitted
            Suppressed: java.lang.UnsatisfiedLinkError: no org_apache_pulsar_shade_netty_tcnative_x86_64 in java.library.path: /Users/mhellber/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
                at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2444)
                at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:848)
                at java.base/java.lang.System.loadLibrary(System.java:2047)
                at org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38)
                at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
                at java.base/java.lang.reflect.Method.invoke(Method.java:578)
                at org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryLoader$1.run(NativeLibraryLoader.java:425)
                at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
                at org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryLoader.loadLibraryByHelper(NativeLibraryLoader.java:417)
                at org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:383)
                ... 22 common frames omitted
    Suppressed: java.lang.UnsatisfiedLinkError: could not load a native library: org_apache_pulsar_shade_netty_tcnative
        at org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:239) ~[pulsar-client-all-2.10.2.jar:2.10.2]
        at org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:105) ~[pulsar-client-all-2.10.2.jar:2.10.2]
        ... 20 common frames omitted
    Caused by: java.io.FileNotFoundException: META-INF/native/liborg_apache_pulsar_shade_netty_tcnative.jnilib
        at org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:181)
        ... 21 common frames omitted
        Suppressed: java.lang.UnsatisfiedLinkError: no org_apache_pulsar_shade_netty_tcnative in java.library.path: /Users/mhellber/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
            at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2444)
            at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:848)
            at java.base/java.lang.System.loadLibrary(System.java:2047)
            at org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38)
            at org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:391)
            at org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:161)
            ... 21 common frames omitted
            Suppressed: java.lang.UnsatisfiedLinkError: no org_apache_pulsar_shade_netty_tcnative in java.library.path: /Users/mhellber/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
                at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2444)
                at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:848)
                at java.base/java.lang.System.loadLibrary(System.java:2047)
                at org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38)
                at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
                at java.base/java.lang.reflect.Method.invoke(Method.java:578)
                at org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryLoader$1.run(NativeLibraryLoader.java:425)
                at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
                at org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryLoader.loadLibraryByHelper(NativeLibraryLoader.java:417)
                at org.apache.pulsar.shade.io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:383)
                ... 22 common frames omitted
java.lang.UnsatisfiedLinkError: 'int org.apache.pulsar.shade.io.netty.internal.tcnative.Library.aprMajorVersion()'
    at org.apache.pulsar.shade.io.netty.internal.tcnative.Library.aprMajorVersion(Native Method) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.shade.io.netty.internal.tcnative.Library.initialize(Library.java:191) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.shade.io.netty.handler.ssl.OpenSsl.initializeTcNative(OpenSsl.java:710) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.shade.io.netty.handler.ssl.OpenSsl.<clinit>(OpenSsl.java:163) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.shade.io.netty.handler.ssl.SslContext.defaultProvider(SslContext.java:124) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.shade.io.netty.handler.ssl.SslContext.defaultClientProvider(SslContext.java:120) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.shade.io.netty.handler.ssl.SslContext.newClientContextInternal(SslContext.java:817) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.shade.io.netty.handler.ssl.SslContextBuilder.build(SslContextBuilder.java:611) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.common.util.SecurityUtility.createNettySslContextForClient(SecurityUtility.java:303) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.common.util.SecurityUtility.createNettySslContextForClient(SecurityUtility.java:287) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.common.util.SecurityUtility.createNettySslContextForClient(SecurityUtility.java:211) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.client.impl.PulsarChannelInitializer.lambda$new$0(PulsarChannelInitializer.java:122) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.client.util.ObjectCache.get(ObjectCache.java:48) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.client.impl.PulsarChannelInitializer.lambda$initTls$1(PulsarChannelInitializer.java:171) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.shade.io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.shade.io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.shade.io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.shade.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.shade.io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:995) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.shade.io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at org.apache.pulsar.shade.io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[pulsar-client-all-2.10.2.jar:2.10.2]
    at java.base/java.lang.Thread.run(Thread.java:1589) ~[na:na]

我尝试在我的 pom.xml 中添加 netty-tcnative 作为依赖项,但没有任何区别。

【问题讨论】:

    标签: datastax apache-pulsar spring-pulsar


    【解决方案1】:

    所有这些异常都是转移注意力的问题——当级别为 DEBUG 时,这是 Pulsar 所期望的。

    netty-tcnative 日志 - 这只是其加载过程的一部分。它找不到它,因此安全性默认为 JDK 提供程序。请注意以下语句的DEBUG级别:

    2023-01-28T20:47:16.894-06:00 DEBUG 19255 --- [r-client-io-1-1] o.a.p.s.io.netty.handler.ssl.OpenSsl     : Failed to load netty-tcnative; OpenSslEngine will be unavailable, unless the application has already loaded the symbols by some other means. See https://netty.io/wiki/forked-tomcat-native.html for more information.
    

    并且CNFEX在脉冲星代码中并且是预期的(参见ObjectMapperFactory

    我创建了一个使用以下方式发送和接收的示例应用程序:

    • SpringBoot 3.0.2
    • Java 19 (x86 JDK (19.0.2-amzn)
    • Spring Pulsar 0.1.1-SNAPSHOT

    您的应用程序还有其他问题。将 apache 日志记录返回到 ERROR 并尝试这个简单的应用程序:

    @SpringBootApplication
    public class TcnativeApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(TcnativeApplication.class, args);
        }
    
        @Bean
        ApplicationRunner runner1(PulsarTemplate<String> pulsarTemplate) {
            String topic1 = "your-topic-goes-here";
            return args -> {
                for (int i = 0; i < 10; i++) {
                    pulsarTemplate.send(topic1, "This is message " + (i + 1));
                }
            };
        }
    
        @PulsarListener(subscriptionName = "subscription-1", topics = "your-topic-goes-here")
        void listen1(String message) {
            System.out.println("***** " + message);
        }
    }
    

    【讨论】:

    • 这激发了新添加的 [Troubleshooting wiki](github.com/spring-projects-experimental/spring-pulsar/wiki/…)
    • 它们确实是转移注意力的东西。我的问题要简单得多(也更笨):我有听众所在的课程没有用 @Service/@Component 注释,因此没有被选中。我会更新我的问题。
    猜你喜欢
    • 1970-01-01
    • 2015-05-19
    • 2019-03-05
    • 2012-12-23
    • 1970-01-01
    • 2015-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多