小编Max*_* Wu的帖子

VSCode 某些快捷方式无法正常工作

Windows 7 x64 上的最新版本 1.40.1。我正在用Java开发。

最常见的快捷方式,“转到定义”F12 和“自动修复”ctrl+dot 我在另一台装有 1.40.1 的计算机上测试过。它工作正常。我已按照密钥绑定故障排除指南进行操作。当我记录我的键 ctrl+dot 时。它显示 ctrl+oem_period。看起来操作系统正在向 VSCode 发送正确的密钥。

我找不到重置 VSCode 键绑定的方法,也不知道究竟是什么导致了这种情况。我接下来该怎么做?完全重新安装一切是最后的手段。

keyboard-shortcuts visual-studio-code

9
推荐指数
5
解决办法
2万
查看次数

如何使用spring security oauth2的JdbcClientDetailsS​​ervice?

我学习如何使用示例中的oauth2 sparklr2,但它使用了inMemoryClientDetailsService.这不是生产的情况,像twitter这样的oauth2 webapp应该让新客户注册.所以最终会用到JdbcClientDetailsService.但是示例和文档spring security oauth2没有提供在代码中进行注册的正确方法.

这是我从项目来源看到的.

JdbcClientDetailsServiceBuilder client = new JdbcClientDetailsServiceBuilder();
        client.dataSource(dataSource)
        .withClient("my-trusted-client-with-secret")
         .authorizedGrantTypes("password", "authorization_code", "refresh_token", "implicit")
         .authorities("ROLE_CLIENT", "ROLE_TRUSTED_CLIENT")
         .scopes("read", "write", "trust")
         .secret("somesecret");
client.build();
Run Code Online (Sandbox Code Playgroud)

它将记录写入数据库oauth_client_details表,但我想知道我是否正确执行(最佳实践)?有人知道吗?

spring-security-oauth2

7
推荐指数
0
解决办法
2127
查看次数

如何使用lambda过滤具有二级列表中对象属性的列表?

例如,有两个类:

class Team { 
 List<Player> players; //with getter & setter
}
class Player{
  String name; //with getter & setter
  int number;  //with getter & setter
}
Run Code Online (Sandbox Code Playgroud)

所以,如果有三支球队:

红队:亚当(4)、汤姆(5)、彼得(11)

蓝队:肯(5),贾斯汀(11)

黑队 : Kim(4), Jackal(3)

我想使用 lambda 来获取拥有球衣编号为 X 的成员的团队。例如:

过滤器为 4 将获得红色,黑色
过滤器与 11 将获得红色和蓝色。

我知道如何仅在玩家级别进行过滤,例如

players.stream().filter(p->p.number.equal(X))
Run Code Online (Sandbox Code Playgroud)

或 flatmap 以获取玩家列表

teams.stream().flatmap(t->t.getPlayers())
Run Code Online (Sandbox Code Playgroud)

但是我如何混合这些 lambda 来让团队在玩家上有一个属性过滤器?

lambda java-8

7
推荐指数
1
解决办法
1万
查看次数

timescaledb index的工作原理与postgreSQL相同吗?

我正在测试名为Timescaledb的PostgreSQL扩展以获取时间序列数据.如果我正确阅读PostgreSQL的文档,例如查询

WHERE x = 'somestring' and timestamp between 't1' and 't2'
Run Code Online (Sandbox Code Playgroud)

最适合索引(x,timestamp).并运行EXPLAIN该SQL查询显示它的工作原理.

当我在Timescaledb hypertable上尝试相同的查询时,它包含相同的数据且没有索引(x,timestamp).性能大致相同(如果不是更好).创建索引后(x,timestamp),性能不会提高.

据我所知,超文本具有内置时间戳索引.所以,我应该有一个不同的策略来为表添加索引,例如使用just的索引(x).是对的吗?

indexing performance timescaledb

4
推荐指数
1
解决办法
965
查看次数

Spring集成,如何使用@Transformer从/到JSON转换?

我的问题是如何在 SI 端点之间传递对象?

我发现的几乎每个示例都使用 XML 设置,我使用的是 Annotation 并且不知道如何解决此异常

Caused by: java.lang.IllegalArgumentException: Could not resolve 'json__TypeId__' in 'javaTypes'.
    at org.springframework.integration.support.json.AbstractJacksonJsonObjectMapper.createJavaType(AbstractJacksonJsonObjectMapper.java:68)
    at org.springframework.integration.support.json.Jackson2JsonObjectMapper.extractJavaType(Jackson2JsonObjectMapper.java:116)
    at org.springframework.integration.support.json.Jackson2JsonObjectMapper.extractJavaType(Jackson2JsonObjectMapper.java:52)
    at org.springframework.integration.support.json.AbstractJacksonJsonObjectMapper.fromJson(AbstractJacksonJsonObjectMapper.java:61)
    at org.springframework.integration.json.JsonToObjectTransformer.doTransform(JsonToObjectTransformer.java:87)
    at org.springframework.integration.transformer.AbstractTransformer.transform(AbstractTransformer.java:33)
    ... 18 more
Run Code Online (Sandbox Code Playgroud)

人们建议使用 xml 来解决这个问题,例如

<bean class="org.springframework.amqp.support.converter.DefaultClassMapper">
    <property name="defaultType" value="foo.MyObject" />
</bean>
Run Code Online (Sandbox Code Playgroud)

但是我正在使用注释来创建转换器来处理从通道接收的消息,就像这样

    @Bean
    @Transformer(inputChannel="fromTcp", outputChannel="toHandler")
    JsonToObjectTransformer jsonToObjectTransformer() {
        ObjectMapper mapper = new ObjectMapper();       
        JsonObjectMapper<JsonNode, JsonParser> jm = new Jackson2JsonObjectMapper(mapper);
        return new JsonToObjectTransformer(jm);
    }
Run Code Online (Sandbox Code Playgroud)

实际上我不知道如何在 SI 端点之间传递对象。我只能通过 String 和 SI 使用默认序列化来处理 String 到 byte[],以及 byte[] 到 String。

json annotations spring-integration

2
推荐指数
1
解决办法
7042
查看次数

spring-data-jpa是否具有L2缓存实现?

我正在尝试以最少的设置创建具有L2缓存的存储库。我的数据库是postgresql。

我从使用maven的spring-boot-sample-data-jpa-archetype项目开始。我删除了HSQL并创建了一个DataSource bean来连接到postgresql。还可以使用ddl创建架构并导入初始脚本数据。

我还已将@Cacheable添加到我的实体中。然后,我使用单元测试使用存储库查询实体10次。花费了1〜49ms。这给我留下了两个问题。

  1. 存储库是否从L1缓存中受益?我怎么知道我要访问缓存或数据源?
  2. 如何启用二级缓存?Spring数据有自己的实现吗?

java caching spring-data-jpa

1
推荐指数
1
解决办法
1143
查看次数