小编And*_*niy的帖子

使用spring社交的长期访问令牌

任何人都可以告诉我如何在社交网站的帮助下获得长期访问令牌spring social.如果可能,请提供代码段.我使用的spring 1.1.0 spring facebook,linkedIntwitterAPI的.

spring spring-social

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

在 Spring 中使用 BCryptPasswordEncoder 检索密码盐

似乎org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder没有返回生成的密码 salt

public String encode(CharSequence rawPassword) {
    String salt;
    if(this.strength > 0) {
        if(this.random != null) {
            salt = BCrypt.gensalt(this.strength, this.random);
        } else {
            salt = BCrypt.gensalt(this.strength);
        }
    } else {
        salt = BCrypt.gensalt();
    }

    return BCrypt.hashpw(rawPassword.toString(), salt);
}
Run Code Online (Sandbox Code Playgroud)

问题:这是为什么目的而设计的?如何使用它,因为它不返回应该存储用于密码检查的salt

java spring spring-security password-encryption

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

Spring MVC中特定路径变量的可能值列表

考虑三个REST资源:

/persons/id/{id}
/persons/code/{code}
/persons/email/{email}
Run Code Online (Sandbox Code Playgroud)

我想在Spring MVC控制器中创建一个方法来处理这些请求:

@RequestMapping("/persons/{searchField}/{searchValue}")
public Person search(@PathVariable field, @PathVariable value) {
...
}
Run Code Online (Sandbox Code Playgroud)

问题是:是否有任何优雅的方法来限制注释级别searchField的值变量列表,除了在方法中检查它们?search

switch (field) {
  case "id": ...
  case "code": ...
  ...
  default: // not found exception??
}
Run Code Online (Sandbox Code Playgroud)

java rest spring spring-mvc

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

Lambda私有方法的可访问性

我对以下情况感到困惑。

考虑两个包ab具有以下类:

1)MethodInvokercall()在给定对象上调用:

package b;
import java.util.concurrent.Callable;
public class MethodInvoker {
    public static void invoke(Callable r) throws Exception {
        r.call();
    }
}
Run Code Online (Sandbox Code Playgroud)

2)

package a;
import b.MethodInvoker;
import java.lang.reflect.Method;
import java.util.concurrent.Callable;
public class Test {

    private static Void method() {
        System.out.println("OK");
        return null;
    }

    public static void main(String[] args) throws Exception {
        Method method = Test.class.getDeclaredMethod("method");
        method.invoke(null);        // ok

        // TEST 1
        MethodInvoker.invoke(() -> {
            return method.invoke(null);  // ok (hmm....
        });

        // …
Run Code Online (Sandbox Code Playgroud)

java reflection lambda jls java-8

4
推荐指数
2
解决办法
2369
查看次数

用方法引用替换此lambda.(sonar.java.source未设置.假设为8或更高.)

List<UUID> insrVrfyIds = insrVrfyObjsNew.stream().map(insrVrfy -> insrVrfy.getCustomerInsrVrfyId()).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

对于以下代码,我收到了警告,正如我在标题中提到的那样.任何人都可以解释我如何转换这个.

在上面的代码中,我有一个对象列表,我希望使用lambda表达式提取所有主键.但我得到的违规行为如" 用方法引用替换此lambda."(sonar.java.source未设置假设8或更高.) "

java sonarqube

4
推荐指数
2
解决办法
752
查看次数

从 CloudFormation 模板在 S3 存储桶上启用 MFA 删除

我知道可以使用 AWS CLI 或 SDK 启用 S3 Bucket 上的 MFA 删除,就像本示例中所示。

但是对于 CloudFormation 模板,如果我想启用 MFA 删除,则必须使用此代码调用 lambda。

是否有可能以某种方式直接从 CloudFormation 模板启用 S3 存储桶的 MFA 删除而不调用特定的 lambda?

lambda amazon-s3 amazon-web-services aws-cloudformation multi-factor-authentication

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

Cassandra表中快速估计的行数

我很惊讶以前没有提出这个问题.

假设我们在cassandra中有一个巨大的表,我们需要在其中获得估计的行数(不精确,只是近似).

显然简单select count(*) from table并不高效,可能需要很长时间.我们需要一些又脏又快的东西.

Datastax博客建议如下:

我不关心确切的数字,我可以估算一下吗?

因为Cassandra知道每个SSTable中有多少行,所以可以得到估计值.'nodetool cfstats'输出告诉您'键数(估计)'行中的这些计数.这是每个SStable中行的总和(由于使用了索引而再次近似,但默认情况下不能超过128).

我的问题:我们可以使用DataStax Enterprise Java驱动程序执行相同的操作吗?

PS我不能改变表结构或其他什么.考虑我使用遗留架构.换句话说,我对添加计数器或其他特殊字段等变通方法不感兴趣.

java cassandra datastax-java-driver

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

Set.of 与 Collections.singleton

Set.of(E e)既然引入了不可变的实现Java 9,我们还需要使用吗Collections.singleton(E e)?后一种的用例是什么?

从两个实现的源代码来看,似乎并不明显。除了实现明确拒绝反序列化之外,我没有看到任何显着差异Set12

我个人会选择Set.of(...)全新的代码,至少是因为时尚的观点(更短的代码,更少的导入)。但我可能错过了一些关键点吗?

java singleton set java-9

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

Spring Batch 2.4.1 + Wildfly 20 Final - java.lang.NoSuchFieldError:BLOCK_UNSAFE_POLYMORPHIC_BASE_TYPES

我正在尝试在 Wildfly 服务器 20 Final 上执行 Spring 批处理应用程序,但出现以下错误,

如果我使用内置的 tomcat 服务器,相同的代码可以正常工作。

Caused by: java.lang.NoSuchFieldError: BLOCK_UNSAFE_POLYMORPHIC_BASE_TYPES
    at org.springframework.batch.core.repository.dao.Jackson2ExecutionContextStringSerializer.<init>(Jackson2ExecutionContextStringSerializer.java:119)
    at org.springframework.batch.core.repository.support.JobRepositoryFactoryBean.afterPropertiesSet(JobRepositoryFactoryBean.java:192)
    at org.springframework.boot.autoconfigure.batch.BasicBatchConfigurer.createJobRepository(BasicBatchConfigurer.java:133)
    at org.springframework.boot.autoconfigure.batch.BasicBatchConfigurer.initialize(BasicBatchConfigurer.java:101)
    at org.springframework.boot.autoconfigure.batch.BasicBatchConfigurer.afterPropertiesSet(BasicBatchConfigurer.java:95)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1847)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1784)
Run Code Online (Sandbox Code Playgroud)

java spring-batch

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

lambda表达式的隐式类型转换

考虑以下课程:

public void method() {
    test(() -> { });
}

void test(Runnable a) {
    System.out.println("Test 1");
}

void test(A a) {
    System.out.println("Test 2");
}

interface A extends Runnable {

}
Run Code Online (Sandbox Code Playgroud)

调用方法method()将导致Test 2输出.这意味着,lambda表达式() -> { }被隐式转换为A.为什么?

java lambda overloading type-conversion java-8

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