You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Java创建Pulsar租户时报Cannot instantiate the type TenantInfo错误

Pulsar创建租户时TenantInfo无法实例化解决方案

报错根因

你当前使用的Pulsar版本中,org.apache.pulsar.common.policies.data.TenantInfo 已经调整为抽象类/接口,不再提供公开的构造方法,因此直接使用new关键字实例化会抛出Cannot instantiate the type TenantInfo错误。

解决方法

使用Pulsar官方提供的Builder模式构建TenantInfo实例即可,调整后的代码如下:

import java.util.HashSet;
import org.apache.pulsar.common.policies.data.TenantInfo;

// 使用builder模式构造TenantInfo实例
TenantInfo tenantInfo = TenantInfo.builder()
        .adminRoles(new HashSet<>(adminRoles))
        .allowedClusters(new HashSet<>(allowedClusters))
        .build();

admin.tenants().createTenant(tenantName, tenantInfo);

如果是仍在使用Pulsar 1.x版本的场景,也可以通过实例化实现类TenantInfoImpl完成创建:

import org.apache.pulsar.common.policies.data.TenantInfoImpl;

TenantInfo tenantInfo = new TenantInfoImpl(new HashSet<>(adminRoles),new HashSet<>(allowedClusters));

注:优先使用Builder写法,该写法兼容所有2.x及以上版本的Pulsar Java客户端,避免后续版本升级出现兼容问题。

内容的提问来源于stack exchange,提问作者Pavan Kalyan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 00:39:02