stackoverflow上有许多类似的查询类型,但没有一个与我看到的问题完全匹配.
我的服务器上有一个zookeeper/kafka设置,可以很好地工作.一个人可以生产
bin/kafka-console-producer.sh --broker-list 192.168.2.80:9092 --topic test
Run Code Online (Sandbox Code Playgroud)
和消费
bin/kafka-console-consumer.sh --bootstrap-server 192.168.2.80:9092 --topic test --from-beginning
Run Code Online (Sandbox Code Playgroud)
本地在Linux Ubuntu 16.04服务器上.
从Docker容器 - 也运行Ubuntu 16.04 - 我想生产和消费.容器的Kafka代码是从服务器上复制的.首先,我可以创建一个新主题
bin/kafka-topics.sh --create --zookeeper 192.168.2.80:2181 --replication-factor 1 --partitions 1 --topic test2
Run Code Online (Sandbox Code Playgroud)
从容器中再次列出它
bin/kafka-topics.sh --list --zookeeper 192.168.2.80:2181
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试使用上面的(kafka-console-producer.sh)命令生成新消息时,它失败并显示以下消息:
[2017-06-05 13:59:05,317] ERROR Error when sending message to topic test2 with key: null, value: 2 bytes with error: (org.apache.kafka.clients.producer.internals.ErrorLoggingCallback)
org.apache.kafka.common.errors.TimeoutException: Expiring 1 record(s) for test2-0: 1526 ms has passed since batch creation plus linger time
Run Code Online (Sandbox Code Playgroud)
输入消息文本后立即按Enter键.
在同一主机上运行Docker容器似乎很奇怪,但是一旦这个工作,我将把容器移动到一个单独的主机进行生产.
我的kafka server.properties文件:
listeners=PLAINTEXT://0.0.0.0:9092
Run Code Online (Sandbox Code Playgroud)
卡夫卡版: …
我正在我的全新 Windows 笔记本电脑(Windows 10 Pro,版本 20H2,内部版本 19042.1645)上安装 64 位 Node v7.10.1(使用 npm v4.2.0)。不幸的是,我的应用程序需要这个早期版本的 Node。到目前为止,我已经使用三个不同的进程安装了 Node:nvm for Windows、NVS 和直接下载。我扫描了网络寻找解决方案,发现了许多类似的问题,但可能的解决方案却很少。我的问题是npm install failed with bad signature error on Windows 的重复项,但那里的建议对我没有帮助。我觉得有必要重新提出这个问题。
安装 Node 并创建一个新的工作目录后,我发出命令
npm install path
我得到的响应是这样的:
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "path"
npm ERR! node v7.10.1
npm ERR! npm v4.2.0
npm ERR! code EPROTO
npm ERR! errno EPROTO
npm ERR! syscall write
npm ERR! write EPROTO 101057795:error:1408D07B:SSL routines:ssl3_get_key_exchange:bad signature:openssl\ssl\s3_clnt.c:2032:
npm ERR!
npm ERR!
npm ERR! If you …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个日期输入控件,它接受像 23/12/1997 这样的日期。我希望它做的是自动为用户插入 / 字符。因此,当他们输入 23 时,侦听器返回 23/,这样他们就可以输入 12。此时,侦听器再次添加一个 /,让用户通过输入 1997 来完成日期。我的 TextEditingController 代码一半有效,如下所示:
final _controller = TextEditingController();
Run Code Online (Sandbox Code Playgroud)
_controller.addListener(() {
String text = _controller.text;
if (text.length == 2) {
text += '/';
}
if (text.length == 5) {
text += '/';
}
_controller.value = _controller.value.copyWith(
text: text,
selection:
TextSelection(baseOffset: text.length, extentOffset: text.length),
composing: TextRange.empty,
);
print(_controller.text);
}
Run Code Online (Sandbox Code Playgroud)
所以它可以正常工作,直到用户出错并需要回溯。一旦 / 被删除,它会立即被替换,停止对日期的任何进一步编辑。
为了让它工作,我需要访问之前输入的文本,以确定用户是否正在退格。所以如果text == 23/ && previous_text == 23/1那时我可以从文本中删除 / 。
我发现这个问题textfield must only accept numbers,我认为它可能对我有帮助,但我不确定如何实现现有的小部件并覆盖其方法。当然,在 TextEditingController 中可能有更简单的方法来做到这一点?
apache-kafka ×1
dart ×1
date ×1
docker ×1
flutter ×1
node.js ×1
npm-install ×1
openssl ×1
textfield ×1
validation ×1
windows ×1