Skip to content

Commit 01952d9

Browse files
committed
feat: supports cache
1 parent 3179571 commit 01952d9

File tree

5 files changed

+21
-3
lines changed

5 files changed

+21
-3
lines changed

.github/workflows/maven.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ jobs:
5858
run: |
5959
mvn -B -U -Dmaven.test.skip=true clean package -Dquarkus.container-image.build=true -Dquarkus.container-image.push=true -Dquarkus.container-image.image=cjbi/flexmodel:latest -Dquarkus.container-image.username=${{ secrets.DOCKER_USERNAME }} -Dquarkus.container-image.password=${{ secrets.DOCKER_PASSWORD }}
6060
- name: Caching Maven Dependencies
61-
uses: actions/cache@v2
61+
uses: actions/cache@v3
6262
with:
6363
path: ~/.m2/repository
6464
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}

pom.xml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,14 @@
3636
</dependencies>
3737
</dependencyManagement>
3838
<dependencies>
39-
39+
<dependency>
40+
<groupId>com.google.guava</groupId>
41+
<artifactId>guava</artifactId>
42+
</dependency>
43+
<dependency>
44+
<groupId>io.quarkus</groupId>
45+
<artifactId>quarkus-cache</artifactId>
46+
</dependency>
4047
<dependency>
4148
<groupId>io.quarkus</groupId>
4249
<artifactId>quarkus-scheduler</artifactId>

src/main/java/tech/wetech/flexmodel/domain/model/api/ApiInfoService.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package tech.wetech.flexmodel.domain.model.api;
22

3+
import io.quarkus.cache.CacheInvalidate;
4+
import io.quarkus.cache.CacheResult;
35
import jakarta.enterprise.context.ApplicationScoped;
46
import jakarta.inject.Inject;
57
import tech.wetech.flexmodel.codegen.entity.ApiInfo;
@@ -15,17 +17,20 @@ public class ApiInfoService {
1517
@Inject
1618
ApiInfoRepository apiInfoRepository;
1719

20+
@CacheResult(cacheName = "apiInfoList")
1821
public List<ApiInfo> findList() {
1922
return apiInfoRepository.findAll();
2023
}
2124

25+
@CacheInvalidate(cacheName = "apiInfoList")
2226
public ApiInfo create(ApiInfo apiInfo) {
2327
if (apiInfo.getName() == null || apiInfo.getName().isEmpty()) {
2428
throw new ApiInfoException("API name must not be null");
2529
}
2630
return apiInfoRepository.save(apiInfo);
2731
}
2832

33+
@CacheInvalidate(cacheName = "apiInfoList")
2934
public ApiInfo update(ApiInfo apiInfo) {
3035
ApiInfo older = apiInfoRepository.findById(apiInfo.getId());
3136
if (older == null) {
@@ -36,11 +41,13 @@ public ApiInfo update(ApiInfo apiInfo) {
3641
return apiInfoRepository.save(apiInfo);
3742
}
3843

44+
@CacheInvalidate(cacheName = "apiInfoList")
3945
public ApiInfo updateIgnoreNull(ApiInfo apiInfo) {
4046
apiInfoRepository.updateIgnoreNull(apiInfo.getId(), apiInfo);
4147
return apiInfo;
4248
}
4349

50+
@CacheInvalidate(cacheName = "apiInfoList")
4451
public void delete(String id) {
4552
apiInfoRepository.delete(id);
4653
apiInfoRepository.deleteByParentId(id);

src/main/java/tech/wetech/flexmodel/domain/model/settings/SettingsService.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package tech.wetech.flexmodel.domain.model.settings;
22

3+
import io.quarkus.cache.CacheInvalidate;
4+
import io.quarkus.cache.CacheResult;
35
import jakarta.enterprise.context.ApplicationScoped;
46
import jakarta.inject.Inject;
57

@@ -12,10 +14,12 @@ public class SettingsService {
1214
@Inject
1315
SettingsRepository settingsRepository;
1416

17+
@CacheResult(cacheName = "settings")
1518
public Settings getSettings() {
1619
return settingsRepository.getSettings();
1720
}
1821

22+
@CacheInvalidate(cacheName = "settings")
1923
public Settings saveSettings(Settings settings) {
2024
return settingsRepository.saveSettings(settings);
2125
}

src/main/java/tech/wetech/flexmodel/infrastructrue/FmRestAPIResources.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ void installRoute(@Observes StartupEvent startupEvent, Router router, GraphQLPro
2424
router.route().handler(BodyHandler.create());
2525
router.route()
2626
.pathRegex("/api/v1/.*")
27-
.handler(apiRuntimeApplicationService::accept);
27+
.blockingHandler(apiRuntimeApplicationService::accept);
2828

2929
router.route().pathRegex("/api/datasources.*")
3030
.handler(handle -> {

0 commit comments

Comments
 (0)