Su JBoss 5.1.0 ho Datasource (PostgreSQL 8.3.11) configurato usando * -ds.xml (standard jboss DS). Utilizza XADataSource (PGXADataSource). Ho anche un broker ActiveMQ (in questo momento funziona come in-VM, sotto JBoss, ma sarà su un server separato).Come configurare il connettore JCA ActiveMQ in JBoss per utilizzare le connessioni XA?
Quello che voglio fare è rendere ActiveMQ Connection Factory e Datasource per partecipare alle Transazioni XA. Ad esempio, voglio aggiornare il record DB e inviare un messaggio JMS come UOW. Hai un'idea.
Ho configurato PGXADataSource in my-pg-ds.xml e funziona (posso tracciare l'esecuzione fino a PGXAConnection's start method). Ho provato a configurare ActiveMQXAConnectionFactory direttamente in primavera (sto usando Spring 3.0.2.RELEASE), ma questo non funziona, perché in questo caso il gestore delle transazioni Spring (uso l'annotazione per consentire a Spring di configurare JtaTransactionManager che semplicemente delega tutto il lavoro a JBoss transaction manager) non include XAResource per il dato ActiveMQXAConnection. Ogni volta che provo a inviare un messaggio ottengo un'eccezione JMSException che dice "XAResource della sessione non è stato inserito in una transazione distribuita." generata da ActiveMQXASession.
Dal momento che non ha funzionato, ho passato a configurazione JCA di ActiveMQ ConnectionFactory (sulla base degli this documento) e funziona per regolare , ma non capisco come posso configurarlo per usare XAConnectionFactory. Sembra che Resource Adapter semplicemente non abbia implementazioni adeguate di ManagedConnectionFactory, ManagedConnection, ecc. Per la factory di connessione XA.
Mi manca qualcosa o non ho altra scelta che scrivere i wrapper XA per l'adattatore di risorse?