Mysql spring@Transactional的Apache camel等价物(只读=true)

Mysql spring@Transactional的Apache camel等价物(只读=true),mysql,java-8,apache-camel,java-stream,Mysql,Java 8,Apache Camel,Java Stream,我正在尝试在Apache Camel路由中使用Java Streams和JPA,并使用MySQL。我看到的参考资料很少,他们提到我们需要具备以下3个属性才能使Streams与MySQL正常工作。 1。仅转发结果集 2.只读语句 3.获取大小设置为整数。最小值 我尝试使用QueryHint在JPA存储库中设置第2和第3个属性 @QueryHints(value = { @QueryHint(name = HINT_FETCH_SIZE, value = "" +

我正在尝试在Apache Camel路由中使用Java Streams和JPA,并使用MySQL。我看到的参考资料很少,他们提到我们需要具备以下3个属性才能使Streams与MySQL正常工作。 1。仅转发结果集 2.只读语句 3.获取大小设置为整数。最小值

我尝试使用QueryHint在JPA存储库中设置第2和第3个属性

@QueryHints(value = {
        @QueryHint(name = HINT_FETCH_SIZE, value = "" + Integer.MIN_VALUE),
        @QueryHint(name = HINT_READONLY, value = "true")
})
看起来
Fetch size
正在工作,但第二个属性不工作,因为我仍然面临以下错误:

Caused by: java.sql.SQLException: Streaming result set com.mysql.jdbc.RowDataDynamic@54b12700 is still active. No statements may be issued when any streaming result sets are open and in use on a given connection. Ensure that you have called .close() on any active streaming result sets before attempting more queries.
我使用
transact()
使路由具有事务性,这相当于spring
@Transactional
。但不确定
@Transactional(readonly=true)
的等价物是什么。有线索吗

from("direct:" + ROUTE_ID)
.routeId(ROUTE_ID)
.log("Start the processing")
.transacted()
.bean(Processor.class)
.to("log:ProcessName?showAll=true");
我把这称为参考