小编P.J*_*sch的帖子

aws kinesis get-records 返回空数组

我在玩 Kinesis,我尝试了一个非常简单的例子

我先放了一个样本记录

aws kinesis put-records --records "Data=Test data - hemant,PartitionKey=20150421" --stream-name mystream 
Run Code Online (Sandbox Code Playgroud)

我回来了

{
"FailedRecordCount": 0,
"Records": [
    {
        "SequenceNumber": "49549975503580743304507290523786194552567002802960728066",
        "ShardId": "shardId-000000000000"
    }
]}
Run Code Online (Sandbox Code Playgroud)

所以 put 似乎奏效了。现在我试图检索这条记录,首先,通过获取分片迭代器,然后使用返回的分片迭代器调用 gert-record。get-shard-iterator 返回

aws kinesis get-shard-iterator --stream-name cakestream --shard-id 0 --shard-iterator-type LATEST
{
"ShardIterator": "AAAAAAAAAAEna1yL0ccbircK95wu6WRfN7LamlaXL5bZ1GzaFrUcSU8S74o4Pus59Z0XmdaMamdvz4tv3qKuPxpomz/Eeg671gVUKNHUDruAKyA4pjWRP37VI1K5w/kLqpBo49YsCKHMxcduaN6GdeCXL4QMSgvH9Aqi7leRuIr2T1w4MeqjhlcM1iz8icaWGlHfUVCbgtY="}
Run Code Online (Sandbox Code Playgroud)

现在我尝试使用该分片迭代器获取记录

aws kinesis get-records --shard-iterator "AAAAAAAAAAEna1yL0ccbircK95wu6WRfN7LamlaXL5bZ1GzaFrUcSU8S74o4Pus59Z0XmdaMamdvz4tv3qKuPxpomz/Eeg671gVUKNHUDruAKyA4pjWRP37VI1K5w/kLqpBo49YsCKHMxcduaN6GdeCXL4QMSgvH9Aqi7leRuIr2T1w4MeqjhlcM1iz8icaWGlHfUVCbgtY="{
"NextShardIterator": "AAAAAAAAAAE4lTq/jqanuj+xsULhl6QQeykzToObYDoaukearHkQfed/keYjgxzwfxkDXlBJBAOVLsk3pI9d0EwQWn5NmJ9poCL9M1wGDe2M42fgmp1EdK0WJGI1zG7TMi8m1bGQ6qDL05zf7gCtK5/xod6Vw/Gr98bsdQ8Ewp3U57FuHxZ29LUUbYp3AoN7CbUTD5rtqzU=",
"Records": []}
Run Code Online (Sandbox Code Playgroud)

所以,我的问题是为什么我没有取回我的数据?

amazon-web-services

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

如何解决maven项目中两个同名bean的冲突?

假设我有一个 Maven 项目 A 和项目 B,并且项目 B 我将其作为 jar 添加到项目 A 中,当我尝试运行项目 A 时,它会给我错误“ bean 名称“xyz”与现有的、不兼容的冲突相同名称和类的 bean 定义

因此,任何人都可以解决此问题,忽略项目 B 的 bean“xyz”并仅运行项目 A 的“xyz”bean,或者是否有任何注释或类似的内容?

java spring maven

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

Docker MySQL:创建新用户

mysql docker hub 页面中,有关于如何创建用户的参考:

MYSQL_USER, MYSQL_PASSWORD
Run Code Online (Sandbox Code Playgroud)

但是如何在 docker-compose.yml 文件中指定这些参数呢?

到目前为止,我有:

mysql:
  image: mysql:5.7
  ports:
    - "3306:3306"
  environment:
    MYSQL_ROOT_PASSWORD: R00t+
Run Code Online (Sandbox Code Playgroud)

另一个问题; 如何从容器外部连接到 mysql 主机?在容器内,我可以使用以下方法进行连接:

$user = 'root';
$pass = 'R00t+';
$server = 'mysql';

$dbh = new PDO( "mysql:host=$server", $user, $pass );
Run Code Online (Sandbox Code Playgroud)

php mysql virtual-machine docker

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

ArrayList 的 isEmpty() 方法上的 ConcurrentModificationException

我有以下代码:

Map<String, List<String>> map;
for(String k : map.keySet()){
   List<String> list = map.get(k);
   boolean empty = list.isEmpty();//CME
   if(!empty && somecheck(k, ...)){
      list.clear();
   }
}
Run Code Online (Sandbox Code Playgroud)

我正在ConcurrentModificationException使用 isEmpty() 方法。列表是一个ArrayList. 没有其他线程修改列表,因为它之前是在此方法中创建的(以及所有映射)。唯一修改列表的地方是clear(),但它在 isEmpty() 之后调用并且循环不能在一个列表上执行两次。

我正在使用 Java 1.7

java.util.ConcurrentModificationException
    at java.util.ArrayList$SubList.checkForComodification(ArrayList.java:1169)
    at java.util.ArrayList$SubList.size(ArrayList.java:998)
    at java.util.AbstractCollection.isEmpty(AbstractCollection.java:86)
Run Code Online (Sandbox Code Playgroud)

java arraylist concurrentmodification java-7

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

Java 8 | 查找具有最大值的地图条目

我有模特人[城市,名字].我已经在地图中收集它们并按城市分组.我需要追踪那些最没有人住在那里的城市,只返回该条目作为地图的一部分.我试过,它也在工作,但我想知道有没有更好的方法.

Comparator<Entry<String, List<Person>>> compareByCityPopulation =
        Comparator.comparing(Entry<String, List<Person>>::getValue, (s1, s2) -> {
            return s1.size() - s2.size();
        });

HashMap mapOfMostPopulatedCity = persons.stream()
        .collect(Collectors.collectingAndThen(Collectors.groupingBy(Person::getCity), m -> {

            Entry<String, List<Person>> found = m.entrySet().stream().max(compareByCityPopulation).get();

            HashMap<String, List<Person>> hMap = new HashMap<>();
            hMap.put(found.getKey(), found.getValue());

            return hMap;
        }));

System.out.println("*City with Most no of people*");
mapOfMostPopulatedCity.forEach((place, peopleDetail) -> System.out.println("Places " + place + "-people detail-" + peopleDetail));
Run Code Online (Sandbox Code Playgroud)

请建议我们如何在java 8中更好地编写.

java java-8 java-stream

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

Spring-Data-Elasticsearch在后台使用什么Elasticsearch客户端?

我想在项目中使用Spring Data Elasticsearch,我看到了以下内容:

从Elasticsearch 7.0.0开始不推荐使用众所周知的TransportClient,并且应该在Elasticsearch 8.0中将其删除。

我的方法是仅使用Spring Data Elasticsearch进行CRUD操作(类似于ORM),并使用High Level REST Client进行搜索,其余的都使用。所以我想知道ElasticsearchRepository使用哪个客户端执行其操作,以及该代码在Elasticsearch 8.0版中是否将不再有效。
使用版本3.1.5是否仍然是一个好的决定?

java elasticsearch spring-boot spring-data-elasticsearch

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

如何让链接点击停留在同一页面

我有以下代码:

<area href="/?22" shape="poly" coords="438,388,561,211">
<area href="/?23" shape="poly" coords="338,43,61,21">
Run Code Online (Sandbox Code Playgroud)

当它被点击链接发送“信号”并且工作正常,但页面更改为:

http://192.168.0.177/?22 
Run Code Online (Sandbox Code Playgroud)

或者

http://192.168.0.177/?23 
Run Code Online (Sandbox Code Playgroud)

我想将页面保留为:

http://192.168.0.177
Run Code Online (Sandbox Code Playgroud)

有没有办法/黑客点击链接发送信号,但页面仍然存在,当然不会刷新?

非常感谢!

javascript href

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

如果optional.isPresent()则使用可选值作为方法参数

我有一个包含几个选项的对象,其中可选项不为null,我想将其值作为参数传递给需要多个参数的方法.

目前我有一个代码块,如下所示:

if (dealerRequest.getIsApproved().isPresent()) {                
    repository.updateDealerPartnerFinanceIsApproved(dealerRequest.getDealerId(), dealerRequest.getIsApproved().get());
}
if (dealerRequest.getIsOptedIn().isPresent()) {                
    repository.updateDealerPartnerFinanceOptedIn(dealerRequest.getDealerId(), dealerRequest.getIsOptedIn().get());
}
Run Code Online (Sandbox Code Playgroud)

我知道检查该值是存在的,然后稍后获取它比以前的空检查更有用; 但是我不知道在这种情况下如何使用它们呢?

理想情况下,我会将.map()作为我仓库中方法的可选项,但后来我不知道如何传递(如果可以的话)第二个参数?有更简洁的方法吗?

java optional java-8

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

Eclipse 持续减速

首先我告诉你我所有的系统配置。我有 Intel i7 处理器、16GB RAM 和 256GB SSD,这对于这种情况来说已经足够了。

我以前使用过eclipse neon。安装几天后,调试模式变得太慢,按 F6 将在 4 秒(检查时间)后进入下一行。完成了我在 SO 和其他网站上找到的许多建议步骤,但没有任何效果。所以安装了 eclipse Oxygen 并且它运行了好几天,同样的问题又开始发生了。不知道是什么原因造成的。

我已经采取的步骤:

1. Modified -Xms and -Xmx parameters in eclipse.ini to update memory restrictions(Xms256m to Xms768m)
2. Uninstalled unused plugins
3. Turned auto update off on new installation also
4. Created new workspaces
5. Used both JDK 1.7 and 1.8 versions
6. Run only eclipse at a time and nothing else
Run Code Online (Sandbox Code Playgroud)

我注意到的一件事是,当我开始 eclipse 时,它​​在同一 eclipse 项目的一定时间内(10-15 分钟)完美运行,但随后开始变慢。

请提出一些建议。谢谢。

eclipse performance

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

是否有“无法访问'&lt;init&gt;'的解决方案:它在XYZ中是私有的”

我是科特林的新手。我包含了一个我想使用的库,但是在访问它的类时,出现错误消息:“无法访问'<init>':它在[类名]中是私有的。我可以做些什么来纠正这是在我这边,还是我只是扔掉包裹。

kotlin

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