我的spring boot应用程序中有3个侦听器。从一开始,只有一名听众应该阅读主题。如果我添加到yml文件:#include <iostream>
#include <opencv2/highgui/highgui.hpp>
using namespace std;
using namespace cv;
const string PATH_IMAGE = "/Users/Kenza/Desktop/Xcode_cpp_opencv/Sos/Sos/Images/img1.jpg";
const int ESC = 27;
Point2f findCorrespondingFisheyePoint(int Xe, int Ye, int We, int He, float FOV){
Point2f fisheyePoint;
float theta, phi, r;
Point3f sphericalPoint;
theta = CV_PI * (Xe / ( (float) We ) - 0.5);
phi = CV_PI * (Ye / ( (float) He ) - 0.5);
sphericalPoint.x = cos(phi) * sin(theta);
sphericalPoint.y = cos(phi) * cos(theta);
sphericalPoint.z = sin(phi);
theta = atan2(sphericalPoint.z, sphericalPoint.x);
phi = atan2(sqrt(pow(sphericalPoint.x,2) + pow(sphericalPoint.z,2)), sphericalPoint.y);
r = ( (float) We ) * phi / FOV;
fisheyePoint.x = (int) ( 0.5 * ( (float) We ) + r * cos(theta) );
fisheyePoint.y = (int) ( 0.5 * ( (float) He ) + r * sin(theta) );
return fisheyePoint;
}
int main(int argc, char** argv){
Mat fisheyeImage, equirectangularImage;
int Wf, Hf;
float FOV;
int We, He;
fisheyeImage = imread(PATH_IMAGE, IMREAD_COLOR);
namedWindow("Fisheye Image");
imshow("fisheye Image", fisheyeImage);
Wf = fisheyeImage.size().width;
Hf = fisheyeImage.size().height;
FOV = (180 * CV_PI ) / 180;
We = Wf;
He = Hf;
while (waitKey(0) != ESC){
}
equirectangularImage.create(He, We, CV_8UC3);
for (int Xe = 0; Xe < We; Xe++){
for (int Ye = 0; Ye < He; Ye++){
Point2f fisheyePoint = findCorrespondingFisheyePoint(Xe, Ye, We, He, FOV);
if (fisheyePoint.x >= We || fisheyePoint.y >= He)
continue;
if (fisheyePoint.x < 0 || fisheyePoint.y < 0)
continue;
equirectangularImage.at<Vec3b>(Point(Xe, Ye)) = fisheyeImage.at<Vec3b>(fisheyePoint);
}
}
namedWindow("Equirectangular Image");
imshow("Equirectangular Image", equirectangularImage);
while (waitKey(0) != ESC){
}
imwrite("im2.jpg", equirectangularImage);
}
,则它适用于所有侦听器,但是我只需要一个。我添加了:
spring.kafka.consumer.auto-offset-reset: earliest
但是它不起作用,因为在启动时看到打印的设置,所以没有拾取设置:
import static org.apache.kafka.clients.consumer.ConsumerConfig.AUTO_OFFSET_RESET_DOC;
......
@KafkaListener(groupId = "${random.uuid}",
properties = {AUTO_OFFSET_RESET_DOC + ":earliest"})
任何想法该怎么做?
答案 0 :(得分:2)
您提供的配置错误,应该是AUTO_OFFSET_RESET_CONFIG
而不是AUTO_OFFSET_RESET_DOC
@KafkaListener(groupId = "${random.uuid}",
properties = {AUTO_OFFSET_RESET_CONFIG + ":earliest"})
或者您可以直接指定属性
@KafkaListener(groupId = "${random.uuid}",
properties = {"auto.offset.reset = earliest"})
在文档@KafkaListener批注中,有一个名为properties
的字段,它接受字符串数组
Kafka消费者财产;它们将取代在使用者工厂中定义的具有相同名称的所有属性(如果使用者工厂支持属性覆盖)。
支持的语法
键值对支持的语法与为Java属性文件中的条目定义的语法相同:
key=value
key:value
key value
group.id和client.id被忽略。