The Author Online Book Forums will soon redirect to Manning's liveBook and liveVideo. All book forum content will migrate to liveBook's discussion forum and all video forum content will migrate to liveVideo. Log in to liveBook or liveVideo with your Manning credentials to join the discussion!

Thank you for your engagement in the AoF over the years! We look forward to offering you a more enhanced forum experience.

It seems that the improved case does not work for my test case. The following configuration although similar to yours, doesn't work. The table is created but the search for first row fails because it says the table doesn't exist. I see this stack trace:
name='endpoint.jdbc.selectFirstProcess', mep=ONE_WAY, properties={}, transactionConfig=Transaction{factory=null, action=INDIFFERENT, timeout=0}, deleteUnacceptedMessages=false, initialState=started, responseTimeout=10000, endpointEncoding=UTF-8, disableTransportTransformer=false} (timeout=60000)
at org.mule.transport.AbstractMessageRequester.request(AbstractMessageRequester.java:132)
at org.mule.transport.AbstractConnector.request(AbstractConnector.java:2163)
at org.mule.endpoint.DefaultInboundEndpoint.request(DefaultInboundEndpoint.java:84)
at org.mule.client.DefaultLocalMuleClient.request(DefaultLocalMuleClient.java:116)
... 14 more
Caused by: org.h2.jdbc.JdbcSQLException: Table "PROCESSTABLE" not found; SQL statement:
select TOP 1 data from processTable [42102-174]

Re: AcmeApiBridgeImprovedTestCase: Is there another technic that works?

OK, do you have the possibility to provide a Maven project with the failing test case, Mule config, etc... just what's needed to reproduce the issue. Based on that, we'll be able to make suggestions on how the book example is applicable (or not) and can be adapted (or not) to your use case.

Re: AcmeApiBridgeImprovedTestCase: Is there another technic that works?

Thanks I do. But I have found the reason for the problem. The H2 database documentation mentions the following for IN-Memory databases:

In some cases, only one connection to a in-memory database is required. This means the database to be opened is private. In this case, the database URL is jdbc:h2:mem: Opening two connections within the same virtual machine means opening two different (private) databases.

So the first connection being in a transaction writes and commits the data but then subsequently closes the connection. The second connection used for the select statement does not see the database and complains database is not found.