小编Sas*_*ota的帖子

IntelliJ Idea:自动删除不必要的“抛出”声明

通常在重构throws部分之后就变得不必要了。突出的IntelliJ他们灰色显示,它们可以被删除,但我想自动(就像未使用的进口得到通过去除删除ctrl+ alt+ O)。

问:有没有办法自动删除throws类中未使用的部分?有没有捷径可走?

java ide jetbrains-ide intellij-idea automated-refactoring

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

从本地计算机连接到Docker中运行的Kafka

我在本地计算机上使用docker设置单节点基本Kafka部署,如Confluent Kafka文档中所述(步骤2-3).

另外,我还暴露了zookeeper的端口2181和kafka的端口9092,这样我就能从本地机器上运行的java客户端连接到它们:

$ docker run -d \
    -p 2181:2181 \
    --net=confluent \
    --name=zookeeper \
    -e ZOOKEEPER_CLIENT_PORT=2181 \
    confluentinc/cp-zookeeper:4.1.0

$ docker run -d \
    --net=confluent \
    --name=kafka \
    -p 9092:9092 \
    -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 \
    -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092 \
    -e KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 \
    confluentinc/cp-kafka:4.1.0
Run Code Online (Sandbox Code Playgroud)

问题:当我尝试从主机连接到kafka时,连接失败,因为它无法解析地址:kafka:9092.

这是我的Java代码:

Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092");
props.put("client.id", "KafkaExampleProducer");
props.put("key.serializer", LongSerializer.class.getName());
props.put("value.serializer", StringSerializer.class.getName());
KafkaProducer<Long, String> producer = new KafkaProducer<>(props);
ProducerRecord<Long, String> record = new ProducerRecord<>("foo", 1L, "Test 1");
producer.send(record).get();
producer.flush();
Run Code Online (Sandbox Code Playgroud)

例外:

java.io.IOException: Can't resolve …
Run Code Online (Sandbox Code Playgroud)

java apache-kafka docker confluent

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

通过 ViewPager 滑动屏幕时 ExoPlayer 显示错误的预览图像

我有一个PlayerView以纵向占据片段的上半部分,下半部分显示一些文本。该片段是 a 的一部分ViewPager,用户可以切换不同视频的屏幕。

问题:在屏幕之间导航(向右/向左滑动)时,PlayerView有时会显示上一个屏幕的预览图像。它只显示了几分之一秒,然后显示了正确的预览图片,但它很明显。

问:如何让PlayerView只显示正确的预览图片?它不应该与上一张图片一起闪烁。可能是我误用了某些东西(播放器或视图的错误实例化......)?如果这是一个已知问题(滑动时模糊视频等),可能有一些解决方法?任何建议/想法表示赞赏。

我的布局如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <com.google.android.exoplayer2.ui.PlayerView
        android:id="@+id/video_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_below="@id/video_view"
        android:scrollbars="vertical" />

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

在片段代码中我有:

@Override
public void onStart() {
    ...
    SimpleExoPlayer player = ExoPlayerFactory.newSimpleInstance(
            getActivity(), new DefaultTrackSelector()
    );
    player.prepare(mediaSource);
    playerView.setPlayer(player);
    ...
}
Run Code Online (Sandbox Code Playgroud)

编辑1。

根据评论部分的要求,我的文件PageAdapter非常标准(就像 Android Studio 在创建选项卡式活动时生成的文件一样),具有唯一的扩展名 - 我将当前片段保存在其中,就像此处建议的那样

android android-viewpager exoplayer exoplayer2.x

5
推荐指数
0
解决办法
1164
查看次数

Jekyll:在不使用外部插件的情况下获取图像的宽度/高度

我想自动为我的所有图像添加heightwidth属性。这是通过这个不错的插件完美完成的,但我将我的网站托管在不支持外部插件的 GitHub 页面上。

问题:如何在不使用插件的情况下预填充图像的高度/宽度属性?

为什么我需要这个?

我的网站即使没有也能很好运行heightwidth但我想指定它们,因为从 SEO 的角度来看它很重要(您可以在此处找到有关其重要性的一些详细信息)。

ruby jekyll github-pages

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

在Docker中运行Java 12应用程序

看了一看OpenJDK Docker存储库,发现Java 12没有JRE映像。Java11(openjdk:11.0.2-jre)有一个JRE映像,但是12中只有JDK映像。

问:如何使用OpenJDK JRE 12在Docker中运行应用程序而不使用完整的JDK映像?

java docker java-12

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

Spring Boot:重写 CacheManager bean 使缓存相关属性不起作用

我有一个带有 Redis 缓存的 Spring Boot 2 应用程序。它工作得很好,直到我覆盖了CacheManagerbean。

问题:以下配置属性被忽略(我无法再关闭缓存):

spring.cache.type=none
Run Code Online (Sandbox Code Playgroud)

尽管根据文档它应该可以工作。

问:作品如何制作spring.cache.type=none

有一个像这样的解决方法,但它远不是一个好的解决方案。

更多详细信息:这是我的配置:

@Configuration
public class CacheConfiguration {
    @Bean
    RedisCacheWriter redisCacheWriter(RedisConnectionFactory connectionFactory) {
        return RedisCacheWriter.lockingRedisCacheWriter(connectionFactory);
    }

    @Bean
    CacheManager cacheManager(RedisCacheWriter redisCacheWriter) {
        Map<String, RedisCacheConfiguration> ttlConfiguration = ...
        RedisCacheConfiguration defaultTtlConfiguration = ...
        return new RedisCacheManager(
                redisCacheWriter, defaultTtlConfiguration, ttlConfiguration
        );
    }
}
Run Code Online (Sandbox Code Playgroud)

java spring redis spring-boot spring-cache

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

Spring Data:如何在一个事务中锁定一行并使其他事务等到它被释放?

我有一种@Transactional方法可以使用findById()Spring Data 存储库请求记录。

现在我想以一种方式锁定这个对象,@Transactional如果并行执行的其他方法将等到锁定被释放。

我尝试过的:我浏览了@LockLockModeType的文档,但我仍然无法弄清楚它是否涵盖了我的情况。

另一种选择是select for update在数据库级别,但我不确定它是最佳选择。

Q:如何在spring数据事务中锁定一个Entity对象(db row)并使其他事务等待?

java spring spring-transactions spring-data-jpa

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

无法从 EKS 中的 Kubernetes Pod 连接到 ElastiCache/Redis

我在 AWS 中有一个 VPC。此 VPC 中有一个 EKS 和一个 ElastiCache/Redis。ElastiCahce 的安全组有一个入口规则,允许从 EKS 的安全组到端口 6379 的流量。EKS 的安全组有一个入口规则,允许传出流量到具有任何协议的任何 IP。

我尝试使用以下命令从 EKS 集群内的 pod 连接到 ElastiCache 节点redis-cli

redis-cli -h  my-cache-instance.xxxx.yyyy.zzzz.cache.amazonaws.com
Run Code Online (Sandbox Code Playgroud)

连接有效,但是如果我尝试运行任何 Redis 命令,它将失败:

my-cache-instance.xxxx.yyyy.zzzz.cache.amazonaws.com:6379> KEYS *
Error: Server closed the connection
(1.00s)
Run Code Online (Sandbox Code Playgroud)

问题:如何配置 ElastiCache 以允许从 EKS 连接?

注意:我可以使用redis-cliVPN 从本地计算机进入 VPC。ElastiCahce 的安全组具有与 EKS 的入口规则相同的入口规则,以允许来自 VPN 安全组的访问。

amazon-web-services redis amazon-elasticache kubernetes amazon-eks

5
推荐指数
0
解决办法
2095
查看次数

在Groovy中转换Map的值

可以说我有一张地图Map<String, List<Integer>>

我想Map<String, Map<Integer, Object>>通过convert()对嵌套列表的每对键和元素应用方法来将此映射转换成映射。

Object convert(String key, Integer value)
Run Code Online (Sandbox Code Playgroud)

我该如何实现?

我尝试过这样的事情:

map.collect { key, list ->
    key: list.collectEntries {
        [(element): convert(key, element)]
    }
}
Run Code Online (Sandbox Code Playgroud)

但是我得到了 ClassCastException: ArrayList cannot be cast to Map

groovy

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

IntelliJ:搜索并用实际类型替换'var'声明

问题:是否可以用varIntelliJ IDEA中的实际类型替换所有声明?

上下文:我使用vars实现了一个大型功能,但事实证明,团队中的所有开发人员都反对使用vars,因此我不得不将其重新构造为实际类型。

java intellij-idea

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