当尝试将Quarkus(版本 2.9.2.Final)EventBus requestAndForget与@ConsumeEvent返回void的方法一起使用时,即使处理没有任何问题,日志中也会出现以下异常。
好的
2022-06-07 09:44:04,064 错误 [io.qua.mut.run.MutinyInfrastruct] (vert.x-eventloop-thread-1) Mutiny 必须放弃以下异常: (TIMEOUT,-1) 超时等待 30000(ms) 回复。地址:__vertx.reply.3,回复地址:receivedSomeEvent
消费者代码:
@ApplicationScoped
public class ConsumerManiac{
@ConsumeEvent(value = "receivedSomeEvent")
public void consume(SomeEvent someEvent ) {
System.out.println("OK");
}
}
Run Code Online (Sandbox Code Playgroud)
生产者代码(REST 端点):
public class SomeResource {
private final EventBus eventBus;
@Inject
public SomeResource (EventBus eventBus) {
this.eventBus = eventBus;
}
@POST
public Response send(@Valid SomeEvent someEvent) {
eventBus.requestAndForget("receivedSomeEvent", someEvent);
return Response.accepted().build();
}
}
Run Code Online (Sandbox Code Playgroud)
如果将消费者方法更改为返回某个值,则不会出现日志中的异常。
@ApplicationScoped
public class ConsumerManiac{
@ConsumeEvent(value = …Run Code Online (Sandbox Code Playgroud) 通过CLI在Java中传递参数时,我们通常像
java -cp jar classname "args[0]" "args[1]"
Run Code Online (Sandbox Code Playgroud)
我想传递诸如此类的参数
--host hostname --user username --password password。
请帮助我实现这一目标。
提前致谢 !!
我创建了这个函数来将最接近的素数返回到x(等于或大于):
def primo(x):
i=2
prime=True
if x>=0:
while i<=x**(1/2) and prime==True:
if x%i==0:
prime=False
else:
i+=1
if (prime==True or x==2 or x==3) and x>1:
return x
else:
primo(x+1)
else:
primo(x+1)
Run Code Online (Sandbox Code Playgroud)
但它只有在x已经素数时才会返回.
我试图print(x)在返回的同一行上放置,但如果x不是素数(例如12),它只打印最后的数字,它不会返回值.
我希望代码在每种情况下返回素数,尤其是如果x不是素数(它会绕过代码直到x为素数).
谢谢.