我试着创建一个Quarkus应用程序,但是我不能 curl 多次,只有第一次 curl 给予我正确的React。
我试着使用没有Quarkus的Vertx(main方法)。然后一切都很好。每个curl都给出了正确的响应。所以我想我在使用Quarkus时初始化了Vertx。
代码:垂直展开器
package Super.Company.App;
import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.event.Observes;
import javax.enterprise.inject.Instance;
import javax.inject.Inject;
import io.quarkus.runtime.StartupEvent;
import io.vertx.core.AbstractVerticle;
import io.vertx.core.Verticle;
import io.vertx.core.Vertx;
@ApplicationScoped
public class App {
@Inject
Vertx vertx;
public void init(@Observes StartupEvent e, Vertx vertx, Instance<AbstractVerticle> verticles) {
for (AbstractVerticle verticle : verticles) {
vertx.deployVerticle(verticle);
}
}
public static void main(String[] args) {
Vertx vertx = Vertx.vertx();
Verticle myVerticle = new MyVerticle();
vertx.deployVerticle(myVerticle);
}
}
代码:垂直
package Super.Company.App;
import javax.enterprise.context.ApplicationScoped;
import io.vertx.core.AbstractVerticle;
import io.vertx.core.http.HttpServer;
import io.vertx.core.http.HttpServerResponse;
import io.vertx.ext.web.Router;
@ApplicationScoped
public class MyVerticle extends AbstractVerticle {
@Override
public void start() {
HttpServer server = vertx.createHttpServer();
Router router = Router.router(vertx);
router.route().handler(routingContext -> {
// This handler will be called for every request
HttpServerResponse response = routingContext.response();
response.putHeader("content-type", "text/plain");
// Write to the response and end it
response.end("Hello World from Vert.x-Web!");
});
server.requestHandler(router).listen(8080);
}
}
编辑:我已经发送了curl命令,偶尔我会得到正确的响应。每16个curl命令都会正确响应。
更新:除了curl垃圾邮件,我做了一些测试。我使用了hey, Postman ,谷歌浏览器和Safari。
哎:百分之五到十五是二百,剩下的是四百四。
Postman :我只收到404,但重启服务器后,只收到200。
浏览器:只有一个标签可以连接到服务器。我可以多次刷新这个标签,服务器每次都会发送一个200。我必须重新启动服务器才能连接到其他标签。但是,如果我刷新其他标签,他们会得到一个404。
1条答案
按热度按时间qij5mzcb1#
您在同一个应用程序中创建了2个顶点示例。
1.进样一个
1.在主方法上手动创建一个
为什么注射的一个不够?
你把verticle部署到每个顶点示例上。init方法中的verticle是从哪里来的?
如果你在一个 quarkus 应用程序中,显式启动主 quarkus 方法会更好。
注入的vertx示例应该是你唯一应该使用的。对于你的简单情况。尝试理解 quarkus 中的依赖注入