After some more digging there still seems to be an issue with multi input collections when the process management add-on is enabled. If the add-on is enabled I can only get it to work if I extend ArrayList and configure as Output. It seems to work but depending on the structure of my ArrayList I get one of a couple of runtime errors. The following if I just populate the ArrayList with simple objects:
infinispan_1 | 09:12:01,761 ERROR (blocking-thread--p3-t3) [org.jboss.threads.errors] Thread Thread[blocking-thread--p3-t3,5,ISPN-blocking-thread-group] threw an uncaught exception java.lang.IllegalStateException: Field 'my_collection' is not an array
infinispan_1 | at org.infinispan.protostream.ProtobufUtil.processArray(ProtobufUtil.java:595)
infinispan_1 | at org.infinispan.protostream.ProtobufUtil.processObject(ProtobufUtil.java:417)
infinispan_1 | at org.infinispan.protostream.ProtobufUtil.processJsonDocument(ProtobufUtil.java:357)
infinispan_1 | at org.infinispan.protostream.ProtobufUtil.fromCanonicalJSON(ProtobufUtil.java:239)
infinispan_1 | at org.infinispan.encoding.ProtostreamTranscoder.transcode(ProtostreamTranscoder.java:88)
infinispan_1 | at org.infinispan.encoding.DataConversion.toStorage(DataConversion.java:223)
infinispan_1 | at org.infinispan.cache.impl.EncoderCache.valueToStorage(EncoderCache.java:107)
infinispan_1 | at org.infinispan.cache.impl.EncoderCache.putAsync(EncoderCache.java:456)
infinispan_1 | at org.infinispan.server.hotrod.CacheRequestProcessor.putInternal(CacheRequestProcessor.java:178)
infinispan_1 | at org.infinispan.server.hotrod.CacheRequestProcessor.lambda$put$4(CacheRequestProcessor.java:171)
infinispan_1 | at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
infinispan_1 | at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
infinispan_1 | at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
infinispan_1 | at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1348)
infinispan_1 | at java.base/java.lang.Thread.run(Thread.java:834)
infinispan_1 |
Or if I use a domain object then the error indicates that it can't find a definition for the first field in the object.
If I set to Internal then I get an NPE.