test[orm]: ttl test unit

This commit is contained in:
godotg
2022-10-14 16:18:48 +08:00
parent 0caf80f1cf
commit a7c1a8349f
2 changed files with 58 additions and 9 deletions
@@ -0,0 +1,38 @@
/*
* Copyright (C) 2020 The zfoo Authors
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and limitations under the License.
*/
package com.zfoo.orm.accessor;
import com.zfoo.orm.OrmContext;
import com.zfoo.orm.entity.MailEntity;
import com.zfoo.scheduler.util.TimeUtils;
import org.junit.Ignore;
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.util.Date;
/**
* @author godotg
* @version 3.0
*/
@Ignore
public class TtlTest {
@Test
public void ttlTest() {
var context = new ClassPathXmlApplicationContext("application.xml");
var mailEntity = MailEntity.valueOf("d", "godot", "hello ttl", new Date(TimeUtils.now()));
OrmContext.getAccessor().insert(mailEntity);
}
}
@@ -16,16 +16,17 @@ package com.zfoo.orm.entity;
import com.zfoo.orm.model.anno.EntityCache;
import com.zfoo.orm.model.anno.Id;
import com.zfoo.orm.model.anno.Index;
import com.zfoo.orm.model.anno.Persister;
import com.zfoo.orm.model.entity.IEntity;
import java.util.Date;
/**
* @author godotg
* @version 3.0
*/
@EntityCache(persister = @Persister("time30s"))
public class MailEnt implements IEntity<String> {
@EntityCache
public class MailEntity implements IEntity<String> {
@Id
private String id;
@@ -35,13 +36,16 @@ public class MailEnt implements IEntity<String> {
private String content;
public MailEnt() {
}
@Index(ascending = true, unique = false, ttl = true, expireAfterSeconds = 10)
private Date createDate;
public MailEnt(String id, String userName, String content) {
this.id = id;
this.userName = userName;
this.content = content;
public static MailEntity valueOf(String id, String userName, String content, Date createDate) {
var entity = new MailEntity();
entity.id = id;
entity.userName = userName;
entity.content = content;
entity.createDate = createDate;
return entity;
}
@Override
@@ -73,4 +77,11 @@ public class MailEnt implements IEntity<String> {
this.content = content;
}
public Date getCreateDate() {
return createDate;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
}