2011-10-20 210 views
0

我有一台服务器运行最新版本的Sphinx(2.0.1-id64-beta),并试图通过Java应用程序访问其SphinxQL接口,使用最新的J /连接器JDBC驱动程序(5.1.18)。每当尝试建立连接时,进程将无限期地在套接字读取上阻塞。调用堆栈如下所示:J /连接器无法通过SphinxQL连接到Sphinx服务器

(StackExchange告诉我,我不允许直接发布图片,由于我的信誉级别。)

图片:http://dunkelhaft.dyndns-server.com/tmp/callstack.png

它看起来像JDBC驱动程序正在等待Sphinx服务器提供一些永不到来的消息。值得注意的是,如果我使用诸如MySQL命令行客户端或Sequel Pro或简单的PHP脚本之类的东西,那么MySQL接口可以毫无问题地工作,这让我怀疑这个问题是Sphinx服务器和服务器之间的某种协议差异JDBC协议。

任何想法?

回答

0

你不是唯一有这个问题的人。我没有一个直接的解决方案,只是一些肮脏的解决方法,让事情工作 - 看看here [简而言之 - 你将不得不使用旧的连接器/ j,并需要在sphinx 2.0.3代码中做一些小改动]。还有一个给狮身人面像开发者的错误报告:#959

编辑。似乎将* mysql_version_string = 5.0.37 *添加到sphinx.conf should solve the problem