我试图谷歌这个问题,但找不到:在我们期望返回0或1行时,应该使用Spring jdbcTemplate中的推荐方法.queryForObject()将在没有返回任何行时抛出异常.queryForList()将需要遍历列表,但这不是问题.但我很好奇是否有返回0或1行的首选/推荐方法.谢谢!
我不是 AWS 专家,但尝试做一些简单的事情,例如创建应用程序负载均衡器、向其中添加目标组并尝试添加侦听器。接下来发生的事情让我感到困惑。在 AWS 控制台 -> EC2 -> 负载均衡器 -> 侦听器 -> 添加侦听器页面上,我选择 Http:80,在默认操作下我添加“转发到”,从下拉列表中选择我的实例,单击“检查”按钮,显示在默认操作下添加的规则。然后我点击屏幕上的第二个保存按钮,刷新/返回然后你去 - >我的听众消失了。以前有人遇到过这个问题吗?我检查了这个问题:AWS 经典负载均衡器侦听器未创建,然后消失。- 解决方案对我不起作用(我已经按下了第二次保存,它位于屏幕顶部,而不是 ALB 底部)。任何指针将不胜感激
我们在 Windows 10 上运行 Docker。我们有一个简单的 Java Springboot 应用程序,它应该与 AWS Kinesis 和 S3 交互。对于本地测试,我们想要拉取 localstack Docker 最新镜像并安装并运行。但是 Kinesis 的启动会抛出错误,而 S3 则工作正常。以下是详细信息:
docker compose:
version: '3.1'
services:
localstack:
image: "localstack/localstack"
container_name: localstack_demo
environment:
SERVICES: kinesis, s3, sqs
DEBUG: 1
DATA_DIR: /tmp/localstack
KINESIS_STREAM_SHARDS: 1
KINESIS_ERROR_PROBABILITY: 0.0
KINESIS_STREAM_NAME: my-stream
ports:
- "4567-4584:4567-4584"
- "8055:8080"
volumes:
- './.localstack:/tmp/localstack'
- '/var/run/docker.sock:/var/run/docker.sock'
Run Code Online (Sandbox Code Playgroud)
当我们尝试访问 Kinesis 的默认 URL 时http://localhost:4568
,我们收到以下错误:(请注意,S3 的默认 URL 按预期响应):
localstack_demo | 2019-09-24T22:35:27:ERROR:localstack.services.generic_proxy: Error forwarding request: the JSON object must be str, bytes or bytearray, …
Run Code Online (Sandbox Code Playgroud) 根据各种 Web 输入,我按照以下步骤将证书添加到本地 jdk 密钥库:
通过从 Linux 主机输入以下命令来下载证书: openssl s_client -connect MyService:443 -showcerts
复制(并包括)-----BEGIN CERTIFICATE-------- 和 --------END CERTIFICATE-------- 之间的内容,将其保存为 C: \Java\jre\lib\security\cer1.cer
键入: C:\Java\jre\bin>keytool -keystore C:\Java\jre\lib\security\cacerts -importcert -alias cer1 -file C:\Java\jre\lib\security\cer1.cer
这显示一条消息,证书添加成功。我通过使用 keytool 的 list 命令验证了这一点
“sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径”
使用的JDK:1.8.0_31,Windows 7
请帮忙!
我们正在探索各种编程/库选项(在Java世界范围内),以实现更快的批处理以及能够部署在云上.我们遇到了Spring批处理/ XD /云数据流.通过对http://cloud.spring.io/spring-cloud-dataflow/上的文档的快速回顾,我们无法评估Spring云数据流是否也具有Spring批次提供的所有批处理功能.例如,以下是SPring批处理文档(http://projects.spring.io/spring-batch/)所说的:"Spring Batch提供了可重用的功能,这些功能对于处理大量记录至关重要,包括记录/跟踪,事务管理,作业处理统计,作业重启,跳过和资源管理."
如果有人对Spring云数据流中的批处理功能有任何了解,请您在此处发帖.非常感谢!
我可以找到更接近这个的问题,但不完全是我想要的。对于许多专家来说,问题可能非常简单:我有一个Hashset
包含我自定义的 bean 作为其内容:
Set<TableColumnBean> mySet = new HashSet<TableColumnBean>();
//loop and add values to Hashset
for(String str : tableColumnBeanMap.keySet()){
mySet.add(new TableColumnBean(tableColumnBeanMap.get(str).getTable, `tableColumnBeanMap.get(str).getColumn))`
}
Run Code Online (Sandbox Code Playgroud)
这里 tableColumnBeanMap 是一个 Map,其中包含类型为 bean 的列表TableColumnBean
。TableColumnBean
是一个简单的 bean,它有两个属性表和列。在循环结束时,我想漂亮地打印 set 的内容,这对于保留作为调试日志选项很有用。我可以考虑使用 java for 循环和打印内容循环遍历集合。但在其他地方,我使用过Jackson
图书馆,如:
new ObjectMapper().writeWithDefaultPrettyPrinter().writeValueAsString(myMap)
Run Code Online (Sandbox Code Playgroud)
这在地图上非常有效。我们有类似的东西也适用于 Sets 吗?(像杰克逊漂亮的印刷品这样的衬里会很好 - 因为它产生非常好的读取输出格式并且也不会使您的代码混乱)。
我有这样的代码:
Predicate<String> notNull = input -> (input != null);
Predicate<String> notEmpty = input -> (input.trim().length() > 0);
Run Code Online (Sandbox Code Playgroud)
它由我的验证器方法使用,如下所示:
public boolean isInputValid(String input){
return (notNull.and(notEmpty)).test(input);
}
Run Code Online (Sandbox Code Playgroud)
每当我调用isInputValid(<myInputString>)
方法时,它会返回true或false,但是,如果我想记录哪个条件完全失败,我怎么能在Java8中这样做而不将我的Predicates notNull和notEmpty转换为方法.
下面将Predicate notNull转换为方法的示例将实现我使用输入记录问题的目标,但是它太冗长了.是否有更好/更简洁的方法来做到这一点?
private Predicate<String> notNull(){
return input -> {
if(input == null){
log.warn("NULL input");
return false;
}
return true;
};
}
Run Code Online (Sandbox Code Playgroud) java ×4
spring ×2
aws-alb ×1
batch-file ×1
hashset ×1
jackson ×1
java-8 ×1
jdbc ×1
jdbctemplate ×1
localstack ×1
logging ×1
predicate ×1
security ×1
spring-jdbc ×1
spring-xd ×1
ssl ×1