我对keycloak很新,所以我可能会问一个非常基本的问题.
无论如何,问题如下:
我已经将我的JBoss安装与keycloak saml适配器集成在一起.它安装正确,Jboss工作正常.在此之后,我更新了我的应用程序以包含keycloak_saml.xml并将web.xml中的auth方法更新为KEYCLOAK-SAML.这完全符合keycloak官方文档.我在keycloak_saml.xml中使用实体ID中的URI,例如:/ wapps/myapp
部署和应用程序启动成功.但是,当我测试时,我收到500错误,错误消息是无效的重定向URI.
我能够看到响应头中的重定向URI为空.有没有人见过这个问题.我无法访问keycloak saml服务器,因此无法检查服务器端的设置.
请帮忙.
谢谢!!Pulkit
我有一个实现可调用接口的类.我想使用ScheduledExecutorService接口的scheduleAtFixedRate方法为该类安排任务.但是,scheduleAtFixedRate需要一个可运行的对象作为它可以调度的命令.
因此我需要一些方法可以将callable转换为runnable.我试过简单的铸造,但那是行不通的.
示例代码:
package org.study.threading.executorDemo;
import java.util.concurrent.Callable;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
class ScheduledExecutionTest implements Callable<String> {
@Override
public String call() throws Exception {
// TODO Auto-generated method stub
System.out.println("inside the call method");
return null;
}
}
public class ScheduledExecution {
public static void main(String[] args) {
ScheduledExecutorService sec = Executors.newScheduledThreadPool(10);
sec.scheduleAtFixedRate(new ScheduledExecutionTest(), 5, 2, TimeUnit.SECONDS);
}
}
Run Code Online (Sandbox Code Playgroud) java multithreading callable runnable scheduledexecutorservice
我们知道lambda表达式可以引用并使用静态实例变量,实例变量和局部变量(如果它们实际上是最终的).这一切似乎都没问题.每当我看到有关Lambdas和Java的函数式编程的任何会话时,我都会看到一个共同点,即"编写并发代码很难,因此调整函数代码会有所帮助".但是,如果我可以访问lambda中的静态和实例变量,这不会完全打败这一点.我知道我们有并行流在某些并发的情况下非常有用,但如果我们转向函数式编程风格,仍然是Java中的封闭范围.
我们也应该在函数式编程中创建纯函数.但是,如果我依赖于实例的状态,那么我的函数就不是纯粹的.
我可能不正确地推断我所分享的内容,但如果我当时有一个特殊的理由允许这些设计原则.
public class UsingStaticVariables {
static int staticTest = 10;
public static void main(String args[]) {
staticTest++;
System.out.println("Static test first value is " + staticTest);
Supplier<Integer> supplier = () -> {return staticTest++; };
staticTest++;
System.out.println("Static test second value is " + staticTest);
System.out.println("Static Test lambda output is " + supplier.get());
}
}
Run Code Online (Sandbox Code Playgroud) 我对AWS很新(只有一个免费的AWS EC2实例来测试AWS的东西)所以这个问题可能听起来很愚蠢.
今天我收到一封邮件,我的Amazon Elastic Block Storeage在我的免费AWS账户上的使用率达到了85%,大约是分配的30 GB的25 GB.从我今天读到的内容来看,Amazon EBS是一个用于EC2实例的持久存储.
但是我可以在我的EC2实例中看到df -h只显示2 GB的使用率和可用的磁盘为28 GB,因为这只是我的练习实例.
我在这里错过了一些重要的信息吗?
我使用 spring AMQP 创建了一个消息侦听器,我用它来接收订单 POJO。消息类型是 application/json,所以我设置了一个 jackson 消息转换器。到目前为止,一切正常,我能够在我的侦听器中自动重新创建订单 POJO 对象。但是我想扩展这个例子并想检查我的监听器中的一些消息属性。因此,我想使用“org.springframework.amqp.core.Message”作为参数,而不是在我的 handleMessage() 中使用我的 Order POJO。然后我可以稍后转换正文,但通过这种方式,我将在我的侦听器中拥有所有与消息相关的属性,我可以在我的应用程序中使用这些属性。
我尝试将 handleMessage() 与 Message 参数一起使用,但似乎它也尝试使用 jackson 转换器来转换消息正文。我不确定在哪里传递 Order POJO 类 jackson 可以用来转换我的消息正文,但仍然应该能够正确转换消息。
请在下面找到我的代码中的重要片段。请帮助我,因为我认为我在这方面遇到了障碍。
POJO
public class Order {
private int orderid;
private String itemDescription;
Run Code Online (Sandbox Code Playgroud)
模板和转换器设置
@Bean
public RabbitTemplate rubeExchangeTemplate() {
logger.info("Lets test autowiring " + rabbitConnectionFactory.getHost());
RabbitTemplate r = new RabbitTemplate(this.rabbitConnectionFactory);
r.setExchange("rmq-exchange");
r.setMessageConverter(jsonMessageConverter());
return r;
}
@Bean
public MessageConverter jsonMessageConverter()
{
final Jackson2JsonMessageConverter converter = new Jackson2JsonMessageConverter();
converter.setClassMapper(classMapper());
return converter;
}
@Bean
public DefaultClassMapper classMapper()
{ …Run Code Online (Sandbox Code Playgroud) 我正在研究 Microanut 版本 1.2.0,并试图找到一种方法来避免对作为对外部 API 的响应而形成的 bean 中可能存在的数据不一致进行冗余检查。我的想法是验证 bean,并且验证步骤还应该验证 bean 的实例变量是否存在可能的违规。
例如,我有一个有地址字段的学生班级。
学生.java
@Data
@Builder
@Introspected
@NoArgsConstructor
@AllArgsConstructor
public class Student {
@NotNull
String id;
String name;
Address address;
}
Run Code Online (Sandbox Code Playgroud)
地址.java
@Data
@Builder
@Introspected
@NoArgsConstructor
@AllArgsConstructor
public class Address {
@NotNull
String houseNumber;
String city;
}
Run Code Online (Sandbox Code Playgroud)
现在,当我对 Student 类型的实例进行 bean 验证时,我想介绍实例变量address的验证。因此,在这种情况下,对于 null Student.id 和 null Address.houseNumber,单次验证应该给出错误。然而,就我而言,我只收到一个错误,即 Student 实例中的 Null id 错误。
学生测试.java
@Test
public void checkIfValidationsAreWorking() {
System.out.println("Tests Started");
// HouseNumber will be Null
Address address = Address.builder()
.city("Delhi") …Run Code Online (Sandbox Code Playgroud)