客户端压缩需要哪些额外的库?
Which additional libraries are required for client compression?
Datastax Java 驱动程序支持使用 snappy and LZ4 的客户端节点连接压缩。启动 Java 驱动程序时,它显示
WARN [2015-04-28 16:13:59,906] com.datastax.driver.core.FrameCompressor: Cannot find LZ4 class, you should make sure the LZ4 library is in the classpath if you intend to use it. LZ4 compression will not be available for the protocol.
两个问题:
- 上述日志消息中的驱动程序指的是哪个 "LZ4 library"?也许有一个 Maven 仓库?
- 我注意到驱动程序
pom.xml
不依赖任何 snappy 库。这是编译到库中吗?或者是否需要在 class 加载程序中提供外部库?
压缩库在 driver-core POM 中定义。
请注意,它们是可选的。这个想法是不需要压缩的用户不必拖动额外的依赖项。如果您使用 LZ4 或 Snappy,则需要在您自己的 POM(或等效项)中声明对相关库的显式依赖。
警告消息只是指出 LZ4 库不在类路径中,如果您不打算使用 LZ4,这完全没问题。事实上,这个警告有点过早,我们应该只在有人尝试使用压缩时检查库的存在,而这正是创建 JAVA-697 的目的。它将在下一个版本的驱动程序中提供。
Datastax Java 驱动程序支持使用 snappy and LZ4 的客户端节点连接压缩。启动 Java 驱动程序时,它显示
WARN [2015-04-28 16:13:59,906] com.datastax.driver.core.FrameCompressor: Cannot find LZ4 class, you should make sure the LZ4 library is in the classpath if you intend to use it. LZ4 compression will not be available for the protocol.
两个问题:
- 上述日志消息中的驱动程序指的是哪个 "LZ4 library"?也许有一个 Maven 仓库?
- 我注意到驱动程序
pom.xml
不依赖任何 snappy 库。这是编译到库中吗?或者是否需要在 class 加载程序中提供外部库?
压缩库在 driver-core POM 中定义。
请注意,它们是可选的。这个想法是不需要压缩的用户不必拖动额外的依赖项。如果您使用 LZ4 或 Snappy,则需要在您自己的 POM(或等效项)中声明对相关库的显式依赖。
警告消息只是指出 LZ4 库不在类路径中,如果您不打算使用 LZ4,这完全没问题。事实上,这个警告有点过早,我们应该只在有人尝试使用压缩时检查库的存在,而这正是创建 JAVA-697 的目的。它将在下一个版本的驱动程序中提供。