小编Sle*_*led的帖子

如何获取通配符通用字段的上限?

我有一个领域List<? extends MyPojo> myPojos = new ArrayList<>();.

我想 - 通过反思 - 得到上限myPojos是类型的事实MyPojo.

我可以得到Field没问题,然后getGenericType,但这只是返回一个Type没有方法的东西.我可以把它投到ParameterizedType,但是getActualTypeArguments().

toString()对方法ParameterizedType返回的期望值,似乎是没有办法访问的通配符上boud的信息,以及所有的实现ParameterizedType似乎是在sun.包.

那么,我可以 - 不解析toString()输出 - 获取泛型类型的上限而不依赖于sun.*类吗?或者这些信息是否因擦除而丢失?

java generics reflection wildcard

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

如何将PDF中的文本加粗?

我正在为“我的”程序开发一个新功能。该功能可以通过简单的方式编写PDF文件,用一些PDF标准的代码制作一个简单的文本文件。

我正在尝试了解它是如何工作的,但我的第一个问题是如何在文档的某些行上应用粗体。

我已经下载了 PDF 参考指南,但我没有找到任何相关信息。

任何想法?

pdf vb6 fonts

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

在JSON模式中引用本地相对文件?

我正在为REST Web服务构建JSON.然而,架构已经增长到超过1300行,我想将其拆分为多个文件.我使用json-schema-validator版本2.1.8 对JSON样本响应的文件夹进行单元测试.

我知道您在当前文件中定义了导入类型{ "$ref": "#/definitions/MyBool" },但是如果我想将定义移动MyBool到另一个文件,比如Common.schema.json,我将如何引用它?

我想{ "$ref": "Common.schema.json/definitions/MyBoolean" },{ "$ref": "./Common.schema.json/defintion/MyBoolean" }{ "$ref": "file://./Common.schema.json/definitions/MyBoolean" }但他们没有工作.

关于" common-js utils中的JSON Schema验证是否支持引用? " 的答案似乎应该可行,但我似乎无法正确使用语法.

我正在加载架构:

JsonNode mySchema = JsonLoader.fromReader(   new InputStreamReader(  JsonSchemaTest.class.getResourceAsStream( "/json/schema/MySchema.schema.json" )  )   );
Run Code Online (Sandbox Code Playgroud)

然后用以下方法验证它:

JsonSchemaFactory.byDefault().getValidator().validate(   schema,   new InputStreamReader(  getClass().getResourceAsStream( "/json/sample/MyJsonSample.json" )  )   ).isSuccess();
Run Code Online (Sandbox Code Playgroud)

FWIW MyBool看起来像:

"MyBool": {
    "type": "object",
    "properties": {
        "value" :{
            "type": "string",
            "enum": [ "true", "false", "file not found" ] …
Run Code Online (Sandbox Code Playgroud)

java json jsonschema json-schema-validator

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

是否可以将 EVAL SHA 与 spring-data redis 一起使用?

是否可以将Redis命令EVAL SHA命令与Spring-Data Redis 一起使用

我们成功地使用EVAL了 execute command: redisTemplate.execute(script, null, args);,但是每次将脚本传输到 Redis 服务器似乎都会产生很大的开销。

是否可以使用 Spring-Data Redis 存储一次脚本并基于其 SHA 运行它?

java redis spring-data-redis

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

为什么@Value不能从环境中注入JNDI值?

我在使用@Value注释将Tomcat中的JNDI值注入spring java配置时遇到了麻烦,而我可以通过Environment类检索值.我们使用的是Java 1.7.0_17,Spring 4.0.3和Tomcat 7.0.52.

我在context.xml以下变量中定义了:

<Environment name="USER_NAME" value="initech" type="java.lang.String" />
<Environment name="USER_PASSWORD" value="1n3+3ch!" type="java.lang.String" />
Run Code Online (Sandbox Code Playgroud)

在我的Java配置文件中我有下面的代码工作:

@Bean
public Foo foo( Environment env ){
    return new Foo( env.getProperty("USER_NAME"), env.getProperty("USER_PASSWORD") );
}
Run Code Online (Sandbox Code Playgroud)

当我查看服务器日志时,我看到:

12:50:45.214 [RMI TCP Connection(3)-127.0.0.1] DEBUG o.s.c.e.PropertySourcesPropertyResolver -> Searching for key 'USER_NAME' in [servletConfigInitParams]
12:50:45.214 [RMI TCP Connection(3)-127.0.0.1] DEBUG o.s.c.e.PropertySourcesPropertyResolver -> Searching for key 'USER_NAME' in [servletContextInitParams]
12:50:45.214 [RMI TCP Connection(3)-127.0.0.1] DEBUG o.s.c.e.PropertySourcesPropertyResolver -> Searching for key 'USER_NAME' in [jndiProperties]
12:50:45.214 …
Run Code Online (Sandbox Code Playgroud)

spring tomcat jndi

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

是否可以使用硬编码的值列表而不是范围公式中的范围?

我想知道是否可以将数组或“范围”硬编码为公式。例如,如果我想查看 B2 中的一个月是三月、四月、六月还是七月,我想将其压缩:

=COUNTIF(a1:a4,MONTH(B2))>0
Run Code Online (Sandbox Code Playgroud)

其中 A1:a4 = 3,4,6,7

简单地说:

=COUNTIF((3,4,6,7),MONTH(B2))>0
Run Code Online (Sandbox Code Playgroud)

这样我就不需要其他单元格中的无关列表

excel static list formula hardcoded

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

java中流中的重复项

我需要复制一个项目List.

所以,如果列表是:

["firstItem", "secondItem"]
Run Code Online (Sandbox Code Playgroud)

我想返回一个列表:

["firstItem","firstItem","secondItem","secondItem"]
Run Code Online (Sandbox Code Playgroud)

我试图通过flatMap函数来做到这一点,但我不知道如何去做.

List<T> duplicatedList = originalList.stream()
            .flatMap(u -> Stream.of()) // how to duplicate items??
            .collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

java arrays arraylist java-stream

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

使用 Lua 脚本将多个 HMSET 传输到 Redis

出于性能考虑,我需要尽量减少到 Redis 的跳数。我从 C++ 代码中多次调用 HMSET,并且正在研究是否可以通过使用 Lua 脚本来更改此设置,并通过一次调用 Redis 来设置多个 Redis 哈希键:

HMSET myhash1 field1 "Hello" field2 "World"
HMSET myhash2 field1 "Hello" field2 "World"
HMSET myhash3 field1 "Hello" field2 "World"
...
HMSET myhashN field1 "Hello" field2 "World"
Run Code Online (Sandbox Code Playgroud)

如何向脚本传递多个哈希键和多个字段/值?


更新 根据 Itamar Haber 评论,我发现我的问题是 KEYS 和 ARGV 值之间缺少空格的逗号 -

我最终得到了以下脚本:

local k = 1 
for i=1,  #KEYS do
    if redis.call('hmset', KEYS[i], ARGV[k], ARGV[k+1], ARGV[k+2], ARGV[k+3]) == 1 then
        return 1
    end 
    k = k + 4 
end                                                                                                                                                                                             
return 0

redis-cli --eval …
Run Code Online (Sandbox Code Playgroud)

lua redis redisclient

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

如何确保我的自定义 OidcUserService 调用默认值?

tl;dr:尽管已注册,为什么我的还没有OidcUserService注册?


我正在尝试OAuth2UserService通过注册它来使用我自己的,如Spring Security 文档中所述。

OidcUserService.loadUser(OidcUserRequest)但是,当我在]( https://docs.spring.io/spring-security/site/docs/current/api/org/springframework/security/oauth2/client/oidc/userinfo/OidcUserService.html上设置断点时#loadUser-org.springframework.security.oauth2.client.oidc.userinfo.OidcUserRequest- )方法,它一直点击com.okta.spring.boot.oauth.OktaOidcUserService相反!我正在使用, com.okta.spring:okta-spring-boot-parent:1.2.2-SNAPSHOT可能是什么问题?

我注册了我OidcUserService 喜欢的记录

@SpringBootApplication
@EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true)
public class RedirectCodeFlowApplication {

    public static void main(String[] args) {
        SpringApplication.run(RedirectCodeFlowApplication.class, args);
    }

    @Configuration
    static class WebConfig extends WebSecurityConfigurerAdapter {
        @Override
        protected void configure(HttpSecurity http) throws Exception {
            final OidcUserService delegate = new OidcUserService();

            http.authorizeRequests().anyRequest().authenticated()
                .and()
                .oauth2Login()
                .userInfoEndpoint()
                .oidcUserService( (userRequest) -> {
                        System.out.println( "!!xXx!! never gets …
Run Code Online (Sandbox Code Playgroud)

spring spring-security okta spring-oauth2

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

Powershell避免cmd 8191字符限制

我正在创建一个 PowerShell,它使用以下命令运行一个简单的 Java 程序:

Start-Process -filepath .\java.exe -ArgumentList "Input" -NoNewWindow
Run Code Online (Sandbox Code Playgroud)

在本例中,Input 类只是接受并打印一个字符串。

我期望长度大于cmd.exe8191 个字符限制的字符串,因此我需要在 PS 中运行它。

当前场景:

  • 在 PS 中直接运行上述命令可以工作并Input接受大于 8191 个字符的字符串。
  • 将命令保存在 ps1 文件中并运行它,会出现一个 PS 窗口,但 cmd 在达到 8191 个字符限制时在幕后运行。

-Wait也尝试添加,但运气不佳。

任何想法?

powershell cmd max

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