datastax java驱动程序更新以静默方式失败
我有一个共享的(与其他应用程序)Cassandra数据库,它聚集在两个不同的节点上。我使用的是Cassandra数据库2.1.2和Java Datastax驱动程序版本2.1.4 我创建了一个类似于此的Do:datastax java驱动程序更新以静默方式失败,java,updates,datastax,Java,Updates,Datastax,我有一个共享的(与其他应用程序)Cassandra数据库,它聚集在两个不同的节点上。我使用的是Cassandra数据库2.1.2和Java Datastax驱动程序版本2.1.4 我创建了一个类似于此的Do: package com.me.name.data.model.cassandra; @Table(name = "name") public final class NameDo { /* * the unique identifier */ @PartitionKey privat
package com.me.name.data.model.cassandra;
@Table(name = "name")
public final class NameDo
{
/*
* the unique identifier
*/
@PartitionKey
private UUID id;
/*
* The package name
*/
@Column(name = "name")
private String name;
/*
* the version number
*/
@Column(name = "version")
private String version;
/*
* the trial period configured.
*/
@Column(name = "period")
private Integer period;
/*
* The last update date
*/
@Column(name = "status_last_update")
private Date statusLastUpdate;
/*
* The trial start date
*/
@Column(name = "trial_start_date")
private Date trialStartDate;
/*
* The description
*/
@Column(name = "description")
private String description;
我使用的集群如下:
public final class ClusterManagerServiceImpl implements ClusterManagerService
{
private @Value("${cassandra.contactpoints}") String clusterHost;
private Cluster cluster;
private static final Logger LOGGER = Logger.getLogger(ClusterManagerServiceImpl.class);
@Autowired
private AuthProviderImpl authProvider;
public String getClusterHost()
{
return clusterHost;
}
public void setClusterHost(String clusterHost)
{
this.clusterHost = clusterHost;
}
public Cluster getCluster()
{
if (cluster == null)
{
try
{
this.createCluster();
}
catch (UnknownHostException e)
{
LOGGER.error(e);
}
}
return cluster;
}
public void setCluster(Cluster cluster)
{
this.cluster = cluster;
}
public void createCluster() throws UnknownHostException
{
try
{
if (cluster == null)
{
LOGGER.debug("opening new Cluster");
setCluster(Cluster.builder().withAuthProvider(authProvider).addContactPoints(InetAddress.getByName(getClusterHost())).build());
}
}
catch (UnknownHostException e)
{
LOGGER.error(e);
}
}
因此,每当我想进行更新或插入时,我都会这样做:
protected Session createSessionOnCluster(Session session) {
LOGGER.debug("opening new session");
session = clusterManagerServiceImpl.getCluster().connect(KEYSPACE_NAME);
return (session);
}
private Mapper<NameDo> createPackageMapper(Session session) {
MappingManager manager = new MappingManager(session);
Mapper<NameDo> mapper = manager.mapper(NameDo.class);
return mapper;
}
public NameDo updateName(NameDo nameDo)
{
Session session = null;
nameDo.setStatusLastUpdate(new Date());
session = createSessionOnCluster(session);
Mapper<NameDo> mapper = createPackageMapper(session);
mapper.save(nameDo);
return nameDo;
}
受保护会话CreateSessionnCluster(会话会话){
调试(“打开新会话”);
session=clusterManagerServiceImpl.getCluster().connect(键空间\名称);
返回(会议);
}
专用映射器createPackageMapper(会话){
MappingManager=新的MappingManager(会话);
Mapper Mapper=manager.Mapper(NameDo.class);
返回映射器;
}
公共NameDo updateName(NameDo NameDo)
{
会话=空;
nameDo.setStatusLastUpdate(新日期());
session=createSessionOnCluster(会话);
映射器映射器=createPackageMapper(会话);
mapper.save(nameDo);
返回nameDo;
}
所以。。。在这一切之后。。。我正在做更新,它不会抛出任何错误,但在我检查数据库后,我的名称表没有更新