SpringCloud 在自定義程序包中注冊事件

2023-11-30 15:11 更新

如果您不能或不想將org.springframework.cloud.bus.event的子包用于自定義事件,則必須使用@RemoteApplicationEventScan批注指定要掃描哪些包來掃描類型為RemoteApplicationEvent的事件。@RemoteApplicationEventScan指定的軟件包包括子軟件包。

例如,考慮以下自定義事件,稱為MyEvent

package com.acme;

public class MyEvent extends RemoteApplicationEvent {
    ...
}

您可以通過以下方式在反序列化器中注冊該事件:

package com.acme;

@Configuration
@RemoteApplicationEventScan
public class BusConfiguration {
    ...
}

不指定值,將注冊使用@RemoteApplicationEventScan的類的包。在本示例中,使用包BusConfiguration注冊了com.acme

您還可以通過使用@RemoteApplicationEventScan上的valuebasePackagesbasePackageClasses屬性來明確指定要掃描的軟件包,如以下示例所示:

package com.acme;

@Configuration
//@RemoteApplicationEventScan({"com.acme", "foo.bar"})
//@RemoteApplicationEventScan(basePackages = {"com.acme", "foo.bar", "fizz.buzz"})
@RemoteApplicationEventScan(basePackageClasses = BusConfiguration.class)
public class BusConfiguration {
    ...
}

@RemoteApplicationEventScan的所有上述示例都是等效的,因為com.acme軟件包是通過在@RemoteApplicationEventScan上顯式指定軟件包來注冊的。

 您可以指定要掃描的多個基本軟件包。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號