Guys,
This is something I've been grappling with lately. The conclusion I've
reached myself is that given the pervasive anti-JTA/JCA propaganda Gavin
mentions, it is wise to provide a non-JTA/JCA *option* that is available
if you configure it. The *option* part is critical because I think Java
EE centric embedded solutions should still support JTA/JCA with a
recommendation on why using it is a good idea and why it makes sense as
the default choice that you get unless you explicitly configure things
to use a non-JTA/JCA transaction manager.
If this is too difficult, I do tend to agree with Gavin that an embedded
solution should just provide a non-JTA/JCA transaction manager while a
server-based solution provides a JTA/JCA solution, given the likely
"target audience" for an embedded solution running on Tomcat/Jetty.
Just my two cents...
Cheers,
Reza
Dan Allen wrote:
You are correct that for various reasons, many developers are fixated
on Tomcat and Jetty. However, I do believe that if there are
embeddable Java EE alternatives, such as Embedded JBoss AS, then the
grip on servlet containers will loosen.
What these developers want is to be able to deploy their app over top
of Maven (or whatever build tool offers this feature). They like the
automatic download of the server and the "in place" style deployment.
I'm sure there are some other features I'm overlooking, but in the
end, it comes down to zero configuration and overall simplicity.
Having to boot up and application server as a service is just not as
appealing. But that isn't out of the reach of Java EE.
-Dan
On Mon, Nov 23, 2009 at 12:34 PM, Gavin King <gavin.king(a)gmail.com
<mailto:gavin.king@gmail.com>> wrote:
Yes, I understand the need for XA enlistment, but JBoss Transactions
is already able to do that, right? What I'm saying is that you would
use the TransactionalDriver together with a pool. Or does
TransactionalDriver already do pooling?
Yes, I understand that this is primitive compared to JCA. But we're
dealing with the users who claim they don't want or need an
application server. They, for their own, mostly incomprehensible,
reasons, *want* to use Tomcat or Jetty or something without a JCA
layer, together with one of the very inferior pooling solutions that
are available in that environment. And they've been told for years by
the Spring crowd that it's a good idea and that they should keep doing
it.
Now, you and I both know this to be a total load of bunk, but we have
tried to argue with these people and it is futile. They read it in
books, so it must be true. We all know that a couple of years of
exposure to Spring turns good developers into drooling, brain-damaged
automatons who believe anything you tell them as long as you wave
around enough underspecified jargon like "lightweight" and remind them
how much EJB sucked 5 years ago.
Now, if you know of a good, reasonably easy to use standalone JCA
layer, I'm all ears, but AFAIK, there's nothing really available in
this space.
On Mon, Nov 23, 2009 at 12:19 PM, Jonathan Halliday
<jonathan.halliday(a)redhat.com
<mailto:jonathan.halliday@redhat.com>> wrote:
>
> None of the pools is XA aware - they will pool standard
connections, but not
> XA ones that need XAResource enlistment to the JTA tx. The
> TransactionalDriver in JBossTS will do that, but it's pretty
primitive
> compared to a real JCA.
>
> Jonathan.
>
> On 11/23/2009 05:16 PM, Gavin King wrote:
>>
>> Ah. Standalone JCA is a problem. But do we really need JCA, or
can we
>> just let Hibernate use one of the standalone connection pools
that it
>> ships with?
>>
>> On Mon, Nov 23, 2009 at 7:13 AM, Pete Muir<pmuir(a)redhat.com
<mailto:pmuir@redhat.com>> wrote:
>>>
>>> I chatted to Jonathan about this, he tells me the binary for
JBossTS JTA
>>> is under 1MB with no external dependencies other than the JTA
API (but we
>>> would probably need standalone JCA too).
>>>
>>> On 18 Nov 2009, at 23:10, Gavin King wrote:
>>>
>>>> I think we should try and follow the Java EE models as closely as
>>>> possible for this stuff. We should simply try and make the
Java EE
>>>> code work outside EE 6.
>>>>
>>>> e.g.
>>>>
>>>> (1) use a resource declaration with
@PersistenceContext(unitName=....)
>>>> to define a managed persistence context
>>>> (2) use JBoss Transactions to manage transactions in a
servlet engine
>>>> - so instead of having a special tx manager for JDBC, it is
just JTA
>>>>
>>>> Or is the 10meg download for JBoss Transactions just no good?
>>>>
>>>> --
>>>> Gavin King
>>>> gavin.king(a)gmail.com <mailto:gavin.king@gmail.com>
>>>>
http://in.relation.to/Bloggers/Gavin
>>>>
http://hibernate.org
>>>>
http://seamframework.org
>>>> _______________________________________________
>>>> weld-dev mailing list
>>>> weld-dev(a)lists.jboss.org <mailto:weld-dev@lists.jboss.org>
>>>>
https://lists.jboss.org/mailman/listinfo/weld-dev
>>>
>>>
>>
>>
>>
>
>
> --
> ------------------------------------------------------------
> Registered Address: Red Hat UK Ltd, Amberley Place, 107-111
Peascod Street,
> Windsor, Berkshire, SI4 1TE, United Kingdom.
> Registered in UK and Wales under Company Registration No. 3798903
> Directors: Michael Cunningham (USA), Charlie Peters (USA), Matt
Parsons
> (USA) and Brendan Lane (Ireland)
>
--
Gavin King
gavin.king(a)gmail.com <mailto:gavin.king@gmail.com>
http://in.relation.to/Bloggers/Gavin
http://hibernate.org
http://seamframework.org
_______________________________________________
weld-dev mailing list
weld-dev(a)lists.jboss.org <mailto:weld-dev@lists.jboss.org>
https://lists.jboss.org/mailman/listinfo/weld-dev
--
Dan Allen
Senior Software Engineer, Red Hat | Author of Seam in Action
Registered Linux User #231597
http://mojavelinux.com
http://mojavelinux.com/seaminaction
http://www.google.com/profiles/dan.j.allen
------------------------------------------------------------------------
_______________________________________________
weld-dev mailing list
weld-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/weld-dev