class FabricBroker4Producer extends FabricTopicAdmin implements IProducer {

    @Override
    public CompletableFuture<SendResult> publish(WeEvent event, String channelName) throws BrokerException {
        log.debug("publish input param WeEvent: {}", event);

        ParamCheckUtils.validateEvent(event);
        this.validateChannelName(channelName);
        return fabricDelegate.publishEvent(event.getTopic(),
                channelName,
                new String(event.getContent(), StandardCharsets.UTF_8),
                JsonHelper.object2Json(event.getExtensions()));
    }

    public  FabricBroker4Producer(FabricDelegate fabricDelegate);

}