I'm doing some tests using the ExecutorService to perform multithreading inside Liberty. From my tests it seems that the only way to start a thread that can use JCICS APi ( for example create a new TSQ ) is to use the static method
CICSExecutorService.runAsCics(task1)
If I start a thread in another way, for example:
// in this way, the OSGi should create an instance of CICSExecutorService automatically
ExecutorService cicsExecutor = Executors.newFixedThreadPool(1);
cicsExecutor .submit(task1);
the thread couldn't use JCICS APi; in particoular I get this error:
java.util.concurrent.ExecutionException: com.ibm.cics.server.CicsRuntimeException: DTCTSQ_READITEM:
No JCICS context is associated with the current thread.
Is that correct? Thanks.