我有一个Spring boot项目,它有使用kafka进行日志记录的依赖项。我无法摆脱所述依赖项,因为我的逻辑需要来自该依赖项的代码
我已尝试禁用自动配置
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.kafka.KafkaAutoConfiguration
我尝试通过bean配置将missingTopicsFatal设置为false
@Bean(name = "kafkaListenerContainerFactory")
public ConcurrentKafkaListenerContainerFactory<?, ?> kafkaListenerContainerFactory(
ConsumerFactory<Object, Object> kafkaConsumerFactor,
ConcurrentKafkaListenerContainerFactoryConfigurer configurer) {
ConcurrentKafkaListenerContainerFactory<Object, Object> factory =
new ConcurrentKafkaListenerContainerFactory<>();
configurer.configure(factory, kafkaConsumerFactor);
ContainerProperties containerProperties = factory.getContainerProperties();
containerProperties.setMissingTopicsFatal(false);
...
return factory;
}
但很明显,设置已经是假的,因为我的应用程序运行时没有失败,只是tomcat不想打开侦听端口
应用程序启动,但spring拒绝打开侦听端口,并继续使用错误进行循环
Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.
在本地运行kafka的情况下,应用程序运行得很好,但由于kafka的资源使用情况,现在仅仅输入操作就会变慢。请帮帮忙。
在我看来,您的主要问题是本地kafka安装的资源使用问题。也许先看一下它的配置和数据。也许从fresh开始,清除所有本地数据?
或者,您可以在进程内运行KafkaServer,在主类中运行如下所示:
Properties kafkaProperties = new Properties();
kafkaProperties.setProperty("broker.id", "1");
kafkaProperties.setProperty("host.name", "localhost");
kafkaProperties.setProperty("listeners", "PLAINTEXT://localhost:" + kafkaPort);
kafkaProperties.setProperty("log.dir", Files.createTempDir().getAbsolutePath());
KafkaConfig kafkaBrokerConfig = new KafkaConfig(kafkaBrokerConfig);
KafkaServer kafkaServer = new KafkaServer(kafkaBrokerConfig, Time.SYSTEM);
kafkaServer.startup();
或者你可以从Docker上运行Kafaka。例如,请参见docker-compose文件https://github.com/confluentinc/examples/tree/5.4.1-post/cp-all-in-one-community。
您可能只需要动物园管理员和经纪人:
docker-compose.yml:
version: '2'
services:
zookeeper:
image: confluentinc/cp-zookeeper:5.4.1
hostname: zookeeper
container_name: zookeeper
ports:
- "2181:2181"
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
broker:
image: confluentinc/cp-kafka:5.4.1
hostname: broker
container_name: broker
depends_on:
- zookeeper
ports:
- "29092:29092"
- "9092:9092"
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181'
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://broker:29092,PLAINTEXT_HOST://localhost:9092
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
问题内容: 我想问一下我是否可以在没有安装Web服务器的情况下运行php。我是否必须像CGI一样使用php并通过命令行运行我的页面?如果是这样,我必须通过安装php选择哪些步骤?我是说偏好设置为CGI以及该步骤之后的组件? 我安装了php 5.3.3,但似乎无法正常工作,我收到几则消息,提示缺少php5ts.dll,当我将该文件放在ext文件夹中时,会出现其他错误消息。是否需要使用任何配置文件或步
我在我的项目中使用带有MongoDb和Elasticsearch的Springboot。当我的Elasticsearch服务器运行时,我的Springboot应用程序运行良好,但当Elasticsearch服务器停止时,我的Springboot应用程序也无法启动。根据我的项目要求,即使Elasticsearch服务器无法启动,我们的Springboot应用程序仍应运行,因为我们的大多数API都是基
文档说这个库运行在GPU上。如果我功能强大的笔记本电脑没有GPU,我还能运行Deeplearning4J吗?
我只需要"解除屏蔽"我的终端后...有一些选项或setpup为它? 注意:我的服务正在使用,因此假设不需要在命令行上使用。 PS:我需要保持容器运行,我不需要使用
有没有一种方法可以在不启动Android Studio的情况下运行模拟器。可能是从命令行。我知道这个功能在旧版本中是可用的,从那以后就消失了。但也许有人知道怎么做了?
我有一个包含不和谐机器人代码的Python脚本。当我运行它时,它会激活不和谐机器人,并显示机器人的在线状态。但是,当我结束python脚本时,它会禁用bot。即使离线,我如何在不使用服务器的情况下保持机器人活动?