让我们在生产中使用java ee应用程序,它使用预准备语句。让我们假设它准备了关于其会话bean初始化的必要语句。
在cassandra中,每个准备好的声明都有一个id。如果现在,如果重新启动cassandra,java ee应用程序是否也需要重新启动?
答案 0 :(得分:4)
几乎所有Cassandra客户端都应该支持这种情况而不必重新启动(据我所知,所有数据驱动程序都是这样做的)。例如,在java驱动程序中,当节点出现故障并再次出现时,将其标记为可用时,其首先要做的事情之一是reprepare all PreparedStatements your application has registered。
此外,如果您在应用程序中使用PreparedStatement进行查询,并且Cassandra节点响应它不知道该语句,则client should prepare that query and retry the request。