A resource adapter is kind of like a db driver: with it you can connect to a type of EIS. Deploying the rar gives your application server the ability to configure ConnectionFactory instances that are supplying connections to particular instances of the type of EIS. You still need to specify a bunch of parameters for the ConnectionFactory and what supports it, in particular the identity of the EIS instance you wish to connect to. The spec states specifically that the identity of the EIS instance should be configured with the ManagedConnectionFactory properties, and not in the ConnectionSpec. (I don't have a page number, sorry)
you need to set up two ConnectionFactoryLoader mbeans with different jndi names, and independent pooling, one for each EIS instance you wish to connect to. Take the EIS identity out of the ConnectionSpec.
All that being said, you might be able to get by with one ConnectionFactory if you make your ManagedConnections able to reconnect to either server depending on the instance specified in the ConnectionSpec when they are reused. You can implement connection pools internal to the driver for this purpose. Another strategy that I have considered for other reasons is pooling based on Subject and ConnectionSpec: this should also solve your problem. However, this is not currently available.
I think the simplest and most spec compliant solution is to set up two ConnectionFactories.
Hope this helps.
OK, suppose now that I deploy one connector per external server.
Do I need to set up one resource adapter section in jboss.jcml per server ? (As I do it now, all the parameters are identical but the resource adapter name which I use in the <display-name> of the ra.xml).
I don't find it very elegant to paste and copy the same section 20 times because I can have potentially 20 external servers (so potentially 20 connectors deployed); although most of the time I will have 3 or 4 deployed connectors.
Is there a way to deploy a connector without modifying the jboss.jcml file?