[Design of JCA on JBoss] - Re: JBPAPP-750 - Integration between AS and JBossMessaging 1
by adrian@jboss.org
"timfox" wrote : What shouldn't happen is the system silently fails in subtle ways, as it does now.
|
| Inferring whether the user wants to use XA on the basis of whether the CF implements the XA CF interfaces is not valid - there's nothing in the spec that says the the same class can't implement both the XA and non XA interfaces.
|
Like I said above. There's no way for the resource adapter to know that the administrator
configured a local connection manager. So there's no way for us avoid the
subtle failures when things get misconfigured.
ASIDE
Well actually there is, you can try to make the **guess** based on whether
getXAResource()/getLocalTransaction() or nothing was invoked,
but you'd have to jump through a lot of hoops to delay initializing the connection
for as a long as possible so you can decide which api to use based on that call.
END-ASIDE
I don't consider a "workaround" a real use case.
We could add all sorts of config options to enable users to workaround potential
bugs in other peoples code.
But the YAGNI princple applies.
i.e. We'll do it when we really have to, e.g. all the Oracle jdbc driver workarouds we have.
Otherwise lets not over complicate the configuration with useless options which
only means the users can't see the wood for the trees.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4142865#4142865
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4142865
18 years
[Design of JCA on JBoss] - Re: JBPAPP-750 - Integration between AS and JBossMessaging 1
by timfox
"adrian(a)jboss.org" wrote :
| Only if TestJMSLocalProvider points at a plain ConnectionFactory, i.e.
| one that doesn't implement XAConnectionFactory.
|
| If the jms provider implements XA then don't use a local connection manager
| to manage transactions. You end up with the weaker Last Resource Gambit
| (i.e. the transaction observer pattern rather than the transaction participant pattern).
|
| But I'm just repeating what I've already said.
|
| I want a real use case not trying to support some broken/stupid configuration.
IMO if the user wants to configure the connection manager for local only, then that's what should happen.
The user may have reasons for doing this, like they specifically don't want to use XA, e.g. if there is a known bug in the provider's XA implementation and they need to roll back to local tx as a workaround.
So I won't necessarily consider this to be broken configuration.
What shouldn't happen is the system silently fails in subtle ways, as it does now.
Inferring whether the user wants to use XA on the basis of whether the CF implements the XA CF interfaces is not valid - there's nothing in the spec that says the the same class can't implement both the XA and non XA interfaces.
*** Tim dons hard hat in preparation for brocking
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4142850#4142850
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4142850
18 years
[Design of JBoss Remoting, Unified Invokers] - Re: Checking in Eclipse project files into Remoting 3 reposi
by trustin
In Maven 2, there's only one artifact for one module. Actually having an artifact assembled from more than one module causes some complication in dependency reolution.
For example, let's assume that module A produces artifact A, module B produces artifact B and artifact C is assembled from the artifact A and B. In this case, if project X depends on artifact C, project Y depends on artifact A and project Z depends on artifact X and Y, there's no easy way for Maven to figure out artifact C includes artifact A. If project X depended on artifact A & B, dependency resolution will be easier. (Uh... poor English, eh? ;)
I was obnoxious about this restriction at the first time Maven 2 was released, but I found it is pretty good restriction that reduces the confusion about the relationship between artifacts and modules.
Anyway, it doesn't mean that you cannot create an artifact of artifacts (e.g. artifact C) with Maven assembly plugin, which is often used to generate a tarball distribution and all-in-one JAR.
I believe I can mavenize Remoting 3 within a couple days. Then you can simply type 'mvn package' to build all artifacts and the build shouldn't break at all, hopefully not slowing us down very much. WDYT? ;)
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4142827#4142827
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4142827
18 years