[ 
https://issues.apache.org/jira/browse/AMQ-9418?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17806228#comment-17806228
 ] 

Christopher L. Shannon commented on AMQ-9418:
---------------------------------------------

https://issues.apache.org/jira/browse/AMQ-6379 added support for Java clients 
starting with 5.14.0 to send their client version which could likely be used to 
detect the version and to do a mapping. We could also obviously assume for any 
future OpenWire versions that it would be Jakarta or maybe change the exception 
handling entirely (use something like error codes and decouple it).  For future 
clients we could even add an extra piece of metadata to the negotiation to 
signal they want Jakarta exceptions but getting a way from exception types 
altogether might be nice. There are definitely a few options to fix it for new 
clients but for legacy we have to handle it either way.

A new OpenWire version will be needed for shared subscription support so we can 
make this better going forward for sure in some way. But to handle the legacy 
stuff maybe we could do something like that following:

# If the OpenWire version is >12 (new) then assume Jakarta
# If OpenWire version is <= 12 then check if the client reported that it is 5.x 
or 6.x. This also goes for the jakarta client that we added for 5.18.x (guess 
we need to check that too). If it's a legacy client then we can do the mapping 
to javax exception types.
# If OpenWire version <=12 and no client version is sent then we just assume 
legacy and send back javax exception types as that means they are a very old 
client or a non-java client so would be expecting javax. Any non java clients 
would need to send metadata to signal they want jakarta (or use a new upgraded 
Openwire version).


> Support mapping jakarta -> javax exceptions in openwire
> -------------------------------------------------------
>
>                 Key: AMQ-9418
>                 URL: https://issues.apache.org/jira/browse/AMQ-9418
>             Project: ActiveMQ
>          Issue Type: Task
>            Reporter: Matt Pavlovich
>            Priority: Major
>             Fix For: 6.1.0
>
>
> For javax clients to connect to jakarta-based broker, we need to map 
> exceptions to the javax namespace from jakarta-based broker-side exceptions



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to