当前位置: 首页 > 知识库问答 >
问题:

OSGI EventAdmin无法发送事件-在生成器上获得空点异常

琴俊人
2023-03-14

我正在尝试向消费者发送一个事件。我得到了NullPointerException

这是我的事件代码

public class Activator implements BundleActivator {

    EventAdmin eventAdmin;
    @Override
    public void start(BundleContext bundleContext) throws Exception {
        System.out.println("started");
        Dictionary<String, String> properties = new Hashtable<>();
        properties.put("test", "blah");
        Event event = new Event("test/sent", properties);
        System.out.println("sending");
        eventAdmin.sendEvent(event);
    }

    @Override
    public void stop(BundleContext bundleContext) throws Exception {
        System.out.println("stopped ");
    }
} 

这里是日志

org . OSGi . framework . bundle Exception:bundle h . at org . eclipse . OSGi . internal . framework . bundle context impl . start activator(bundle context impl . Java:863)at org . eclipse . OSGi . internal . framework . bundle context impl . start(bundle context impl . Java:791)at org . eclipse . OSGi . internal . framework . equinox bundle . startwork 0(equinox bundle . Java:11...23 more Java . lang . nullpointerexception

共有1个答案

向嘉誉
2023-03-14

您可以使用从不设置的字段事件管理员。所以你得到一个NullPointerException。我建议改用声明性服务,并使用@Reference注入 EventAdmin。

请参阅 OSGi 事件管理员 – 发布

 类似资料:
  • 当前,我已经在Express API上为服务器发送的事件设置了一个endpoint,当我从cmd调用endpoint时,使用http://localhost:3000/v1/devices,我得到了流,但当我使用新事件源从Vue应用程序调用endpoint时('http://localhost:3000/v1/devices“)但它只会继续加载,而不会流式传输任何数据。是否有我目前没有做的事情要做

  • zapier中的Javascript代码 在Action类中,我正在获取请求数据 正在获取异常 java.lang.NullPointerException\n\tat java.io.StringReader

  • 我已经阅读了Github Actions留档,无法弄清楚为什么当我发布新版本时,GitHub Action工作流会被几乎同时的和事件触发。换句话说,我的工作流yaml文件是这样开始的,指定它应该为推送和发布事件运行: 当我发布一个新版本(标签)时,我希望它执行一次。然而,我看到两个事件几乎同时触发(间隔约5-10秒): 现在,事件确实触发了我的存储库的,但唯一正在更新的文件是我的文件。事件的定义没

  • 当我们得到空闲超时事件时,我们关闭通道。如果我们当时也启用了ssl,我们会得到: 以下是一些注意事项:https://github.com/netty/netty/issues/305 我们是否可以在空闲状态处理程序方法中进行某种清理来防止这种情况?或者我们应该在方法中捕捉到这一点吗? 一般来说,我们应该如何处理这种例外情况? 谢谢,马特

  • 我们使用sping-cloud-stream-binder-kafka(3.0.3.RELEASE)向我们的Kafka集群(2.4.1)发送消息。时不时地,其中一个生产者线程会收到NOT_LEADER_FOR_PARTITION异常,甚至超过重试(当前设置为12,由依赖sping-retry激活)。我们限制了重试,因为我们发送了大约1kmsg/s(每个生产者实例),并且担心缓冲区的大小。这样我们会

  • 概述 客户端代码 概述 建立连接 open事件 message事件 error事件 自定义事件 close方法 数据格式 概述 data:数据栏 id:数据标识符 event栏:自定义信息类型 retry:最大间隔时间 服务器代码 参考链接 概述 传统的网页都是浏览器向服务器“查询”数据,但是很多场合,最有效的方式是服务器向浏览器“发送”数据。比如,每当收到新的电子邮件,服务器就向浏览器发送一个“