Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
datastax java驱动程序更新以静默方式失败_Java_Updates_Datastax - Fatal编程技术网

datastax java驱动程序更新以静默方式失败

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

我有一个共享的(与其他应用程序)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
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;
}
所以。。。在这一切之后。。。我正在做更新,它不会抛出任何错误,但在我检查数据库后,我的名称表没有更新

  • 有人知道这是什么原因吗
  • 是卡桑德拉吗
  • 是税务司机吗
  • 有解决办法吗