客户端压缩需要哪些额外的库?

时间:2015-04-29 09:27:17

标签: datastax-java-driver

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.

两个问题:

  1. 哪个“LZ4库”是上述日志消息中引用的驱动程序?是否有Maven回购呢?
  2. 我注意到驱动程序pom.xml对任何snappy库没有任何依赖。这被编译到库中吗?或者是否需要在类加载器中提供外部库?

1 个答案:

答案 0 :(得分:2)

压缩库在driver-core POM

中定义

请注意,它们是可选的。这个想法是不需要压缩的用户不必拖动额外的依赖项。如果使用LZ4或Snappy,则需要在自己的POM(或等效的)中声明对相关库的显式依赖。

警告消息只是声明LZ4库不在类路径中,如果您不打算使用LZ4,这完全没问题。事实上,这个警告有点为时过早,我们只应该在有人试图使用压缩时检查库的存在,而这正是为JAVA-697创建的。它将在下一版本的驱动程序中提供。