Thanks Bjorn. You're doing a good job of selling @Asynchronous (via TomEE)
over JMS. I agree, I think JMS may be more than what i actually need, but
it's working great in my app and helped me to finally do some asynchronous
processing and it's working great. and i heard you about the 'middle
man'... i am listening in on the activemq user list, and I do see/hear many
questions/issues about messages being lost, and from what you're telling
me, your code and configuration and use of @Asynchronous seems to be
reliable and it seems as though items on the queue are never lost out in
asynchronous-processing world/space/universe.

I have seen evidence that every-now-and-then, an MDB on the queue was
either not completed or not executed or there was a network disconnect...
you and others probably heard me mention already that i'm using
activemq/jms to keep google calendar in-sync with my app's database. i am
very pleased with tomee/AMQ/JMS and the implementation, but usually, a
network/internet disconnect leaves a bunch of duplicates on google
calendar. every now and then = this behavior occurs days apart, and a day
that has plenty of events on a single day on the calendar.i have not tried
to dig into the problem as i know that it is usually a network disconnect,
but our internet connection is supposed to be quite reliable and always up
99% of the time, I think. before i change the code/implementation, i would
rather search any all log files (tomee + windows logs).


On Sun, Mar 24, 2013 at 4:43 PM, Bjorn Danielsson <
[email protected]> wrote:

> Well, concerning JMS vs @Asynchronous, there are different fits
> for different requirements, and your mileage may vary as always.
> I used JMS to deal with asynchronous processing, because it was
> the only tool for the purpose in Java EE 5. Then I found a tool
> in EE 6 that fitted my purpose better. JMS is much more than what
> I ever needed, and I think that contributed to making it hard for
> me to get it working exactly the way I wanted.
>
> And actually I do recall having some problem with @Asynchronous
> stuff also, but Romain fixed that so fast so I no longer remember
> what it was about!
>
> --
> Bjorn Danielsson
> Cuspy Code AB
>
>
> "Howard W. Smith, Jr." <[email protected]> wrote:
> > That is good to know, thanks for sharing! And you squeezed a bit more
> > information/details out of Romain... i couldn't squeeze the following
> line
> > out of him earlier... lol
> >
> >> Yes, you squeezed the network layer, you avoided network problems ;)
> >
> >
> > On Sun, Mar 24, 2013 at 1:35 PM, Bjorn Danielsson <
> > [email protected]> wrote:
> >
> >> Well, I still have networking between my two (for failover)
> >> TomEE servers and the SQL service that holds the queue and
> >> commits the transactions. But I eliminated a middle-man :)
> >>
> >> --
> >> Bjorn Danielsson
> >> Cuspy Code AB
> >>
> >>
> >> Romain Manni-Bucau <[email protected]> wrote:
> >> > Yes, you squeezed the network layer, you avoided network problems ;)
> >> > Le 24 mars 2013 18:12, "Bjorn Danielsson" <
> >> [email protected]>
> >> > a écrit :
> >> >
> >> >> Interesting, I went the opposite way, from JMS to @Asynchronous.
> >> >>
> >> >> I began using JMS for asynchronous requests that were required
> >> >> to be transactional and reliable. This worked great during
> >> >> initial development, first with OpenMQ in GlassFish and then
> >> >> with ActiveMQ in OpenEJB/TomEE. But when I started testing
> >> >> ActiveMQ failover configurations under heavy loads, I started
> >> >> getting lost messages and hung JMS connections.
> >> >>
> >> >> So after struggling for a while I ended up rolling my own
> >> >> persistent queue in SQL, and used @Asynchronous for the request
> >> >> dispatch. That turned out to solve all of my problems, and the
> >> >> overall configuration also become notably simpler.
> >> >>
> >> >> --
> >> >> Bjorn Danielsson
> >> >> Cuspy Code AB
> >> >>
> >> >>
> >> >> "Howard W. Smith, Jr." <[email protected]> wrote:
> >> >> > On Sat, Mar 23, 2013 at 5:55 PM, Romain Manni-Bucau
> >> >> > <[email protected]>wrote:
> >> >> >
> >> >> >> just to be sure: @Schedule != @Asynchronous
> >> >> >>
> >> >> >>
> >> >> > True/understood. hahaha!
> >> >> >
> >> >> > My point is this... since i had issues using @Asynchronous, it is
> hard
> >> >> > going back to @Asynchronous since i'm loving AMQ/JMS. :)
> >> >> >
> >> >> > I think I heard you and/or others say that JMS is old technology
> >> (java ee
> >> >> > 5), and I know @Asynchronous is java ee 6, so i trust @asynchronous
> >> can
> >> >> do
> >> >> > the job, but i even heard that @asynchronous is not good to use in
> >> JSF or
> >> >> > servlet (request-based) apps.
> >> >>
> >>
>

Reply via email to