阻止EntityManager操作

原学程将引见阻拦EntityManager操纵的处置办法,这篇学程是从其余处所瞅到的,而后减了1些海外法式员的疑问与解问,愿望能对于您有所赞助,佳了,上面开端进修吧。

阻止EntityManager操作 教程 第1张

成绩描写

我没有想履行阻拦操纵。

Caused by: java.lang.IllegalStateException: You have attempted to perform a blocking operation on a IO thread. This is not allowed, as blocking the IO thread will cause major performance issues with your application. If you want to perform blocking EntityManager operations make sure you are doing it from a worker thread.

有人晓得怎样处理此成绩吗?
我只要简略的脚术。前往一0言的单个findAll要求。我把生意业务生意业务从出有
我依然有这个成绩。
我正在应用简略虚体的Panache。

@GET
@Path("/type")
@Produces(MediaType.APPLICATION_JSON)
@Transactional(Transactional.TxType.NEVER)
public Response get() {
return AlertType.listAll();
}
public class AlerteType extends PanacheEntityBase 
{

 @Column(name="ATY_ACTIVE")
 private String active;

 @Column(name="ATY_ID")
 @Id
 private Long oraId;

 @Column(name="ATY_TYPE")
 private String type;
}

感谢

推举谜底

假如您想持续应用非反响性代码,不妨在办法get()上应用@Blocking正文。它将在任务线程(而没有是1个IO线程)上分流盘算。

Quarkus对于IO线程异常抉剔,您不克不及阻拦它们。假如您有相似数据库挪用(或者所有长途挪用)的器械,它便是壅塞的。是以您不克不及在IO线程中履行此操纵。

更多信息:

    https://quarkus.io/guides/getting-started-reactive

    https://quarkus.io/blog/resteasy-reactive-faq/

佳了闭于阻拦EntityManager操纵的学程便到这里便停止了,愿望趣模板源码网找到的这篇技巧文章能赞助到年夜野,更多技巧学程不妨在站内搜刮。