Contains junit arquillian test case for the following glassfish bug GLASSFISH-21289.
The test case itself is in the XidMismatch class.
@Deployment method of the test class creates the web archive and deploys it to the glassfish embedded container, whose configuration is in the glassfish-embedded directory. config/domain.xml contains the definition of all resources (JMS, JDBC, etc.) utilized by test artifacts.
testXidMismatch test method starts a testjob batch job. It contains a single chunk-style step with partition mapper - step's partitioned as the problem occurs in a concurrent environment.
ItemReader creates random number (between MIN and MAX as defined in SimplePartitionMapper) of entity instances of type Subscriber.
ItemProcessor does nothing, but sleeps for 50 ms.
ItemWriter persists entities created by the reader and then publishes them to JMS topic (jms/topic/subscribers). All of this is done in a single, distributed transaction and here's where the problem occurs.