AEM 中的 CRX 属性 数据类型存在差异

discrepancy in CRX property data types in AEM

在配置邮件服务时com.day.cq.mailer.DefaultMailService,我了解到SMTP端口应该是一个整数(smtp.port=I"465")。

但是如果我尝试使用 sling:OsgiConfig 节点进行配置,因为 CRX 没有为数据类型提供整数(仅十进制、双精度和长整型),我无法实现这一点。

还有其他选择吗?

使用String输入sling:OsgiConfig节点给出CRX/DE中的smtp:port。这是由 DefaultMailService.

内部处理的

如果我们看到 DefaultMailService 实现 smtp.portString,由注释处理

@Property(intValue={25})
private static final String SMTP_PORT = "smtp.port";

Sandeep 错了,内部表示不是StringSMTP_PORT 变量的类型是 String,因为它保存的是标签而不是字段值。 实际值的类型为 int。 但是您可以在 crx.de 中将值设置为 Long,因为该值将在内部转换为 intString 也可能有效,但我没有测试过。