我正在尝试在不使用 @KafkaListener 注释的情况下为主题创建 Kafka Consumer。我想这样做是因为我试图在不使用 spring boot 的情况下根据 application.properties 动态创建侦听器。
我认为最好的方法是手动创建一个 KafkaListenerContainerFactory 有人可以提供一个如何在它自己的类中执行此操作的示例。
去finder找到安装dmg文件,右键打开。系统将照常提示您执行后续步骤。
爪哇 11
JAVA_HOME : C:\Program Files\Java\jdk-11.0.4
Run Code Online (Sandbox Code Playgroud)
我能够使用以下命令在 cmd 中找到 Java 版本:
java --version //successfully executed
java -version //successfully executed
Run Code Online (Sandbox Code Playgroud)
爪哇 8
JAVA_HOME : C:\Program Files (x86)\Java\jdk1.8.0_231
Run Code Online (Sandbox Code Playgroud)
我能够使用以下命令在 cmd 中找到 Java 版本:
java -version //successfully executed
Run Code Online (Sandbox Code Playgroud)
虽然我无法通过--version命令找到 java 版本
java --version //not successfully executed
Run Code Online (Sandbox Code Playgroud)
为什么我在执行时收到无法创建 Java 虚拟机的错误--version,或者jdk 8 中没有此命令选项?如果它是在 jdk 11 中添加的,那么它在 doc 中的哪里提到了?
我有字符串列表,其中每个字符串由由字符 ',' (逗号)分隔的字母组成。我想遍历字符串列表,用逗号分割,并计算每个字母出现的次数,并将结果存储在 Multiset 中。应忽略空白字符串,并应修剪拆分的部分。多集应该按键排序。
下面的代码有效,即它生成所需的 Multiset。但是,我无法弄清楚如何使用正确的收集器方法 (Multisets.toMultiset()),因此求助于两步解决方案,使用临时列表变量,我想消除它。
如果有人能告诉我我应该如何在收集步骤中构造对 Multisets.toMultiset() 的调用,我将不胜感激。我被困在定义元素函数和供应商函数上,我什至无法编写编译的代码......
@Test
public void testIt() {
List<String> temp = Stream.of("b, c", "a", " ", "a, c")
.filter(StringUtils::isNotBlank)
.map(val -> val.split(","))
.flatMap(Arrays::stream)
.map(String::trim)
.collect(Collectors.toList());
Multiset<String> multiset = ImmutableSortedMultiset.copyOf(temp);
System.out.println("As list: " + temp);
System.out.println("As multiset: " + multiset);
// Output is:
// As list: [b, c, a, a, c]
// As multiset: [a x 2, b, c x 2]
}
Run Code Online (Sandbox Code Playgroud)
我正在使用番石榴 28.1。上例中还使用了来自 commons-lang3 版本 3.9 的 StringUtils 类
这是真实场景中的一个简化示例,但仍然抓住了我的问题的本质
我有一个 ID 列表
1, 2, 3, 4
Run Code Online (Sandbox Code Playgroud)
我想写一个删除查询
public void deleteComputersUsingNative(List<Integer> id) {
String commaSeperated = ?//Convert ID to comma seperated string in to put in where clause
em.createNativeQuery("DELETE FROM PD_OWNER.CIM_SNOW_COMP_OPTDRIV_TAB WHERE ID IN (" +commaSeperated +")").executeUpdate();
}
Run Code Online (Sandbox Code Playgroud)
toString()在一种解决方案中执行和删除括号。
有没有更好的方法可以在纯 java 或 jpa/hibernate 中处理这个问题?
我有 3 个列表,List<List<List<Product>>我想将它们合并为一个。我已经阅读了几篇 SO 文章,但我仍然不确定如何继续。到目前为止我有
allProducts.stream()
.flatMap(List::Stream)
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
但这只会合并两个列表,对吗?在该语句中合并所有三个的最佳方法是什么?我见过reduce()用过,但我不知道怎么写。我需要获得Product.
最近我将我的应用程序升级到 Tomcat 9 和 Java 8 并部署了我的战争文件。当我启动我的应用程序时,我收到了类似的错误,
An error occurred at line: [3] in the jsp file: [/app/myPage.jsp]
The method URLDecode(String) is undefined for the type RequestUtil
1: </script>
2: <%
3: String fromPage = org.apache.catalina.util.RequestUtil.URLDecode( "redirect" );
Run Code Online (Sandbox Code Playgroud)
在我的 lib 路径 catalina.jar 中有该方法。请指导我缺少什么。
我想用 0 过滤值以打印无效的消息,但结果是 Optional.empty
Long l = 0L;
Optional<String> l2 = Optional.of(l).filter(t -> t>0).map(t ->t.toString());
Optional<String>l3 =l2.filter(String::isEmpty).map(t ->"invalid");
System.out.println(l3);
Run Code Online (Sandbox Code Playgroud)
需要返回类型是 Optional<String>
预期产出 -Invalid
实际产出 -Optional.empty
更新
需要返回类型是 String
预期产出 -Invalid value 0
实际产出 -Optional.empty
我有以下课程:
public class Role {
private Integer id;
private String name;
private String description;
//getters and setters
}
Run Code Online (Sandbox Code Playgroud)
public class UserRole {
private Integer id;
private User user;
private Role role;
//getters and setters
}
Run Code Online (Sandbox Code Playgroud)
public class RoleCheckbox {
private Role role;
private Boolean checked;
//getters and setters
}
Run Code Online (Sandbox Code Playgroud)
现在在我的服务类中,我得到了 Role 和 UserRole 对象的列表。角色列表包含所有可用角色,用户角色列表包含分配给特定用户的角色。
我想比较这两个列表并创建一个 RoleCheckbox 对象列表。因此,新创建的列表应包含所有角色和“已检查”字段,其值取决于用户的角色。
我已经解决了如下:
this.roleCheckboxes = new ArrayList<RoleCheckbox>();
for(Role role : roles) {
Boolean checked = false;
for (UserRole userRole : user.getUserRoles()) {
if(userRole.getRole() == role) …Run Code Online (Sandbox Code Playgroud) 我有 2 个列表,比方说
1 -> List<Employee> list1;
2 -> List<Age> list2
class Employee {
String name;
String age;
String address;
}
class Age {
String name;
String age;
}
Run Code Online (Sandbox Code Playgroud)
我喜欢做的是我需要更换的年龄在所有记录员工列表随着年龄的年龄列表具有相同名称的两个。我如何在 Java 8 中实现这一目标?
java-8 ×10
java ×8
java-stream ×3
collections ×1
for-loop ×1
guava ×1
hibernate ×1
java-11 ×1
jpa ×1
macos ×1
optional ×1
spring ×1
spring-kafka ×1
sql ×1
tomcat9 ×1