[Design of Messaging on JBoss (Messaging/JBoss)] - Re: Bug in transactional delivery in an MDB
by clebert.suconic@jboss.com
I have found some inconsistences between JCA and Messaging.
It looks like JBossMQ would return a XAConnection only under certain circustances, and JBossMQFActory would take the decision wether the Connection should be XA or not.
And it happens that our Connection is aways a XA Connection
| public class JBossConnection implements
| Connection, QueueConnection, TopicConnection,
| XAConnection, XAQueueConnection, XATopicConnection, Serializable
|
So, looking at JCA Code, you have several places like this:
|
| package org.jboss.resource.adapter.jms;
|
|
| .....
|
| public class JmsManagedConnection
| implements ManagedConnection, ExceptionListener
| {
|
| .....
|
| private void setup() throws ResourceException
| {
|
| ................
|
| if (con instanceof XATopicConnection)
| {
| xaTopicSession = ((XATopicConnection)con).createXATopicSession();
| topicSession = xaTopicSession.getTopicSession();
| xaTransacted = true;
| }
| else if (con instanceof TopicConnection)
| {
| topicSession =
| ((TopicConnection)con).createTopicSession(transacted, ack);
| if (trace)
| log.trace("Using a non-XA TopicConnection. " +
| "It will not be able to participate in a Global UOW");
| }
| else
| throw new JBossResourceException("Connection was not recognizable: " + con);
|
| if (trace)
| log.trace("xaTopicSession=" + xaTopicSession + ", topicSession=" + topicSession);
| }
|
| ................
| }
|
| ......
| }
|
If what I'm saying is correct (That the MQ.ConnectionFactory would take the decision on return a XAConnection or not), we have two options:
I - Refactor the JCA layer to be more compatible with our Messaging approach
II - Refactor Messaging to only return XAConnections when it's necessary.
Any thoughts?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4039450#4039450
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4039450
18 years, 11 months
[Design of JBoss internal QA (Test Suite)] - strange compatibility matrix behaviour
by jaroslaw.kijanowski
I've back ported Clebert's compatibility matrix to JBoss_4_0_1_SP1_CP:
http://viewvc.jboss.org/cgi-bin/viewvc.cgi/jbossas/branches/JBoss_4_0_1_S...
(last step concerns the compatibility matrix test)
After running the compatibility matrix I get following errors:
org.jboss.test.webservice.marshalltest.MarshallRpcLiteralTestCase (31tests)
"The requested resource (/ws4ee-marshall-rpcenc) is not available."
http://dev17.qa.atl.jboss.com:8440/cruisecontrol/artifacts/jboss-4.0.1.SP...
If I run the MarshallRpcLiteralTestCase in "single" mode, by modifying build.xml:
<execute-matrix-unit test-name="WebService" parameter-filter="org/jboss/test/webservice/marshalltest/MarshallRpcLiteralTestCase.class"/>
instead of:
<execute-matrix-unit test-name="WebService" parameter-filter="org/jboss/test/webservice/**/*TestCase.class"/>
the test runs fine.
But when I change build.xml this way:
<execute-matrix-unit test-name="WebService" parameter-filter="org/jboss/test/webservice/marshalltest/MarshallRpc*TestCase.class"/>
which runs two tests: MarshallRpcEncodedTestCase and MarshallRpcLiteralTestCase the second one fails again.
Any ideas why?
If not, I will define a new parameter which excludes MarshallRpcLiteralTestCase from the webservice tests and run it separately:
<execute-matrix-unit test-name="WebService"
parameter-filter="org/jboss/test/webservice/**/*TestCase.class"
parameter-exclude-filter="org/jboss/test/webservice/marshalltest/MarshallRpcLiteralTestCase.class"/>
<execute-matrix-unit test-name="WebService-2" parameter-filter="org/jboss/test/webservice/marshalltest/MarshallRpcLiteralTestCase.class"/>
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4039411#4039411
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4039411
18 years, 11 months