| Summary: | ConnectionRequestInfo implementation in generic resource adapter leads to impossibility to get connection in some cases when used with TIBCO EMS 6.3 | ||
|---|---|---|---|
| Product: | [JBoss] JBoss Enterprise Application Platform 6 | Reporter: | Vladimir Rastseluev <vrastsel> |
| Component: | JCA, JMS | Assignee: | Jeff Mesnil <jmesnil> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Vladimir Rastseluev <vrastsel> |
| Severity: | unspecified | Docs Contact: | Russell Dickenson <rdickens> |
| Priority: | unspecified | ||
| Version: | 6.1.1 | CC: | jbertram, jpederse, pslavice |
| Target Milestone: | ER1 | ||
| Target Release: | EAP 6.2.0 | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2013-12-15 16:48:44 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
|
Description
Vladimir Rastseluev
2013-08-29 12:14:31 UTC
This an all future bugs for this project should be assigned to Jeff Mesnil as he has been identified as the owner in engineering. If I understand the issue correctly, when the transaction test is run, we have a different CRI (transacted=true) and we must create a new managed connection. Is that correct? In JmsManagedConnection.setup, we lookup the CF and create a new (TIBCO) JMS connection. The issue is that this new connection already has a clientID. Does TIBCO provide a pooled connection factory that reuse existing JMS connections? Yes, you understand correctly the first part - we really need to create different managed connections for transacted and non-transacted CRI. But the problem IMO is that connection, returned to pool contains clientID. When we create a new connection, after lookup, we try to set clientID to it. As described javax.jms.Connection interface: If another connection with the same clientID is already running when setClientId() method is called, the JMS provider should detect the duplicate ID and throw an InvalidClientIDException. So this happens here. I don't know, if TIBCO uses pooled connection factory or not. the generic-jms-ra has been updated with a fix that removes the clientID from the RA's CRI (see https://github.com/jms-ra/generic-jms-ra/issues/1) New master branch for the community project is at https://github.com/jms-ra/generic-jms-ra Verified |