问题标签 [ff4j]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
110 浏览

spring-boot - FF4j Web 控制台未正确显示

我是 FF4J 的新手,从 hello world 应用程序开始。我编写了一个示例 Spring Boot 项目,并在我的 pom.xml 中添加了对 ff4j-spring-boot-starter 和 ff4j-web 模块的依赖。

但是,当我运行该应用程序时,FF4J Web 控制台显示分心。下面是我的 pom.xml 和 Web 控制台屏幕截图。

在此处输入图像描述

下面是我看到的网络控制台

在此处输入图像描述

我不确定这里有什么错误。请检查并帮助。谢谢。

0 投票
1 回答
142 浏览

java - FF4j + MS SQL:获取“操作数类型冲突 datetime2 与时间戳不兼容”异常

我的项目结构:Spring Boot + DB:MS SQL + FF4j (FeatureStoreSpringJdbc)

创建表架构如下 url https://github.com/ff4j/ff4j/blob/master/ff4j-core/src/main/resources/schema-ddl.sql

获取“操作数类型冲突 datetime2 与时间戳不兼容”访问“/api/ff4j”rest api 时出现异常有什么办法可以解决这个问题

异常堆栈跟踪:org.springframework.jdbc.UncategorizedSQLException:PreparedStatementCallback;SQL [SELECT count(EVT_UUID) as NB, EVT_NAME FROM FF4J_AUDIT WHERE (EVT_TYPE LIKE 'feature') AND (EVT_ACTION LIKE 'checkOn') AND (EVT_TIME> ?) AND (EVT_TIME< ?) GROUP BY EVT_NAME] 的未分类 SQLException;SQL状态[S0002];错误代码[206];操作数类型冲突:datetime2 与时间戳不兼容;嵌套异常是 com.microsoft.sqlserver.jdbc.SQLServerException:操作数类型冲突:datetime2 与时间戳不兼容

在 org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:89)

在 org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)

在 org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)

在 org.springframework.jdbc.core.JdbcTemplate.translateException(JdbcTemplate.java:1443)

在 org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:633)

在 org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:669)

在 org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:700)

在 org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:712)

在 org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:768)

在 org.ff4j.springjdbc.store.EventRepositorySpringJdbc.computeHitCount(EventRepositorySpringJdbc.java:151)

在 org.ff4j.springjdbc.store.EventRepositorySpringJdbc.getFeatureUsageHitCount(EventRepositorySpringJdbc.java:119)

在 org.ff4j.audit.repository.AbstractEventRepository.getFeatureUsagePieChart(AbstractEventRepository.java:58)

在 org.ff4j.services.domain.EventRepositoryApiBean.initialize(EventRepositoryApiBean.kt:55)

在 org.ff4j.services.domain.EventRepositoryApiBean.(EventRepositoryApiBean.kt:46)

在 org.ff4j.services.domain.FF4jStatusApiBean.(FF4jStatusApiBean.kt:66)

在 org.ff4j.services.FF4jServices.getStatus(FF4jServices.kt:40)

在 org.ff4j.spring.boot.web.api.resources.FF4jResource.getStatus(FF4jResource.kt:55)

在 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

在 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(未知来源)

在 java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)

0 投票
1 回答
129 浏览

spring - ff4j客户端如何使用ff4j服务器(spring mvc)暴露的其余api?

我使用了 ff4j-sample-springboot2x-jdbc-postgres并设置了我的 ff4j 服务器以及 DB 部分并公开了 api - 可在“/api/ff4j”处访问。这是我的管理组件。

现在我想要一个客户端微服务(也是一个 springboot 应用程序)来使用这个 REST api 并使用 ff4j.check() 和其他方法。有没有一种快速的方法(更少的代码 - 我需要为许多应用程序执行此操作)在客户端使用 api?

附言。-对于服务器,我只使用了 DB 和 ff4j-spring-starter(就像在示例中一样) - 我没有使用和 jersey/jetty 依赖项

0 投票
1 回答
18 浏览

deployment - 如何在 AKS 中部署 ff4j 服务器?

我创建了名称为“ff4j-feature-toggle-server”的 ff4j 服务器作为 maven java 项目。试图在 AKS 上部署它。我在我的日志中得到以下信息 -

“在 ff4j-feature-toggle-server.jar 中没有主要清单属性”

我检查了我的部署文件并且名称正确,并且服务器在我的本地计算机上完美运行 - 但我无法在 AKS 上进行部署。在网上也找不到有关 ff4j aks 部署的任何信息。

我错过了什么吗?

0 投票
1 回答
401 浏览

java - FF4J:特征存储的服务器端缓存

我正在使用ff4j-spring-boot-starterwithf4j-store-springjdbc来设置我的 ff4j 服务器。我所有的其他微服务都使用 ff4j 提供的端点来访问这个特性存储,并且响应以 JSON 格式返回。

由于数据不会经常更改,并且我们正在尝试保存不必要的数据库调用,因此我正在尝试在服务器上缓存我的功能存储。此外,如果功能标志 DB 已关闭(用于刷新/维护),我们仍然希望其他服务使用缓存中的这些值成功启动。

ff4j-store-ehcache我们在 pom.xml 中导入

我们的 FeatureCacheProviderEhCache 实现在 FF4jConfig.java 中看起来像这样。

WebConsole 会在提交数据库更改后立即反映它们,并且似乎没有命中缓存或缓存正在其中存储任何数据。

我希望能够使用此缓存而无需每次查找都进入数据库。

我们还尝试使用 InMemoryCacheManager 作为 FeatureCacheProviderEhCache 的替代品,但结果相同。在这两种实现中,我们确实在我们的 Web 控制台上看到了清除缓存按钮。

另外,有没有更好的方法来测试我的 api 调用是否实际上是从缓存而不是从数据库中获取数据,而不必关闭数据库?

更新:在实现我们自己的 FeatureCacheProviderEhCache 并登录后,我尝试访问 api/ff4j 并且featureNames在该响应中输入为空。请参考日志:

这是 API 的响应

缓存已创建,但未在其中存储任何值。我正在按照第一个答案中所说的方式设置缓存。我的日志,当我打印 listCachedFeatures() 时,它也打印为空。我仍然无法featureNames在缓存中看到。我没有正确配置哪个部分?

0 投票
1 回答
19 浏览

java - 移除 FF4J 自动添加的资源

最近我在我的应用程序上添加了 FF4j 依赖项,在我的 swagger ui 中出现了新的资源端点之后,有没有办法禁用这些端点?

在此处输入图像描述

依赖项添加是