]
Jesper Pedersen closed JBJCA-1109.
----------------------------------
Resolution: Deferred
SimpleResourceAdapterRepository fails to convert RA uniqueId to RA
name
-----------------------------------------------------------------------
Key: JBJCA-1109
URL:
https://issues.jboss.org/browse/JBJCA-1109
Project: IronJacamar
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Core
Affects Versions: 1.0.21.Final, 1.1.1.Final
Reporter: Ivo Studensky
Assignee: Jesper Pedersen
SimpleResourceAdapterRepository compares a given ResourceAdapter class with resource
adapters from MetadataRepository just by their class names. So if there are 2 separate RAs
deployed in the server both with the same ResourceAdapter class (e.g.
org.hornetq.ra.HornetQResourceAdapter), it randomly takes one of those and cannot safely
distinguish them.
3 places affected by this:
1. #getMessageListeners() [1]
2. #getEnpoint() because of usage of getMDRIdentifier [2] [3]
3. #getResourceAdapters() [4]
I used a dirty hack to work around this issue which changes API and doesn't fix #3,
see [5] + a few changes according to [5] in WF's EJBUtilities.
A possible fix could be to "encode" the RA name into its {{uniqueId}}, so that
such a uniqueId would contain RA class name, RA name and eventually a counter (increasing
number).
[1]
https://github.com/ironjacamar/ironjacamar/blob/1.1/core/src/main/java/or...
[2]
https://github.com/ironjacamar/ironjacamar/blob/1.1/core/src/main/java/or...
[3]
https://github.com/ironjacamar/ironjacamar/blob/1.1/core/src/main/java/or...
[4]
https://github.com/ironjacamar/ironjacamar/blob/1.1/core/src/main/java/or...
[5]
https://github.com/istudens/ironjacamar/commit/0f716538ea91e2b547f83f41c6...