You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by cchalmers <CC...@iprofs.nl> on 2008/01/19 22:21:20 UTC
ServiceMix - EDA - Database
Hi,
Together with a colleague I've just started a small project to build up
knowledge concerning EDA and have currently chosen ServiceMix as the
implementation tool. Bear with me as a lot of this is new new to me.
The case we're trying to implement is a travel booking-system. Employees,
customers and airlines can be persisted after-which a customer can make a
booking etc.
One of the things we want to prove is that when data changes in the database
that an event is generated and action undertaken. For example if the flight
data changes we want to send an sms to the passengers about the time change.
I read that others are connecting to databases via the spring jdbc template.
The question is how an event as generated concerning the changed data? As
far as I see it there are two paths:
1. Continually polling the database from servicemix looking for changed
records which would have to have a last-modified data and then generating an
event
2. Working with triggers in the database which would somehow have to send an
event to servicemix so that the sms can be sent.
Is there a third (or more) option which I'm unaware of and is standard in
servicemix?
Perhaps I'm misunderstanding the EDA concept and how servicemix achieves
this?
Plz let me know :-)
thx
/colin
--
View this message in context: http://www.nabble.com/ServiceMix---EDA---Database-tp14975289s12049p14975289.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.
Re: ServiceMix - EDA - Database
Posted by Guillaume Nodet <gn...@gmail.com>.
Another option would be to let the ESB change the database itself.
The service to change the data would be a service exposed on the bus, and
it would send a notification when it updates a record in the database.
On Jan 19, 2008 10:21 PM, cchalmers <CC...@iprofs.nl> wrote:
>
> Hi,
>
> Together with a colleague I've just started a small project to build up
> knowledge concerning EDA and have currently chosen ServiceMix as the
> implementation tool. Bear with me as a lot of this is new new to me.
>
> The case we're trying to implement is a travel booking-system. Employees,
> customers and airlines can be persisted after-which a customer can make a
> booking etc.
>
> One of the things we want to prove is that when data changes in the
> database
> that an event is generated and action undertaken. For example if the
> flight
> data changes we want to send an sms to the passengers about the time
> change.
>
> I read that others are connecting to databases via the spring jdbc
> template.
> The question is how an event as generated concerning the changed data? As
> far as I see it there are two paths:
>
> 1. Continually polling the database from servicemix looking for changed
> records which would have to have a last-modified data and then generating
> an
> event
> 2. Working with triggers in the database which would somehow have to send
> an
> event to servicemix so that the sms can be sent.
>
> Is there a third (or more) option which I'm unaware of and is standard in
> servicemix?
> Perhaps I'm misunderstanding the EDA concept and how servicemix achieves
> this?
>
> Plz let me know :-)
>
> thx
>
> /colin
>
>
>
>
> --
> View this message in context:
> http://www.nabble.com/ServiceMix---EDA---Database-tp14975289s12049p14975289.html
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>
>
--
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
Re: ServiceMix - EDA - Database
Posted by Bruce Snyder <br...@gmail.com>.
On Jan 24, 2008 3:16 PM, cchalmers <CC...@iprofs.nl> wrote:
>
> Hi Bruce,
>
> thx for your reply.
> Well basically were setting up a small test application to prove and gain
> knowledge of an Event Driven Architecture. Its based on a simple application
> whereby someone can make a travel booking via a web page. The data is
> persisted in a mysql database. I then want to alter the data using a sql
> script meaning the flight would be delayed. This should trigger an event
> afterwhich I want the application to notify all passengers on the flight
> via email or sms. Our setup uses Grails for the web-pages, servicemix as esb
> and mysql as database.
>
> I could poll the database every so often from the esb looking for records
> that have been changed but am apprehensive about the load on the database
> should there be lots of records in a real life situation. I was interested
> in using triggers from the database but how to pass an event from a db
> through to servicemix? I would be interested in you thoughts on that one.
Well, it turns out that there are some major drawbacks to having a
trigger call an external script or application. Take a look at this
Usenet exchange about this very topic:
http://www.usenet-forums.com/mysql-database/102566-calling-perl-script-mysql-trigger.html
Please note that Bill Karwin is a noted MySQL expert who serves on a
MySQL and has a lot of experience with MySQL. Just Google 'Bill Karwin
MySQL' and you'll see what i mean.
The list of items from Bill Karwin in the post above is more than
enough reason for me not to recommend using a trigger to call out to
an external application. That doesn't mean that I wouldn't use
triggers to populate another table with an integer value that is easy
to query with low overhead to prompt an external application to be
able to easily query it and grab the result. More or less a boolean to
indicate that notification processing needs to occur. A quick little
query like that could be easily kicked off from the servicemix-quartz
component.
Bruce
--
perl -e 'print unpack("u30","D0G)U8V4\@4VYY9&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*"
);'
Apache ActiveMQ - http://activemq.org/
Apache Camel - http://activemq.org/camel/
Apache ServiceMix - http://servicemix.org/
Apache Geronimo - http://geronimo.apache.org/
Blog: http://bruceblog.org/
Re: 3.3-SNAPSHOT STILL looking for bootstrap class?
Posted by ma...@uk.bnpparibas.com.
Hello,
apologies... yes i was actually creating archetype with
-Dversion=3.2.1
when i reverted to 3.3-snapshot it worked just fine
thanks and regards
marco
Internet
gnodet@gmail.com
25/01/2008 10:12
Please respond to
users@servicemix.apache.org
To
users
cc
Subject
Re: 3.3-SNAPSHOT STILL looking for bootstrap class?
Btw, this has been fixed in trunk two months ago:
http://svn.apache.org/viewvc?view=rev&revision=599587
On Jan 25, 2008 11:04 AM, Guillaume Nodet <gn...@gmail.com> wrote:
> The problem is not in the servicemix container, but in the example
afaik.
> So if you have build your archetypes using 3.3.-SNAPSHOT, then this
> would be a bug, but if you build those using an older version, even if
you
> deploy them on 3.3, it won't fix the problem.
>
>
> On Jan 25, 2008 11:00 AM, <ma...@uk.bnpparibas.com> wrote:
>
> > hello all,
> > before filing a JIRA i want to make sure that i am not dreaming...
> > i got trunk from svn, and built it yesterday...
> >
> > today i tried to deploy hello-world-se sample from servicemix site,
and
> > when i di di got following exception
> >
> > ERROR - AutoDeploymentService - Failed to update Component:
> > hello-worl
> > -se
> > javax.jbi.management.DeploymentException:
> > javax.jbi.management.DeploymentExcept
> > on: java.lang.ClassNotFoundException:
> > org.apache.servicemix.samples.helloworld.
> > e.MyBootstrap in classloader
> > org.apache.servicemix.samples.helloworld.se.MyBoot
> > trap
> > at
> > org.apache.servicemix.jbi.framework.InstallationService.initializeIn
> > taller(InstallationService.java:456)
> > at
> > org.apache.servicemix.jbi.framework.InstallationService.doInstallCom
> > onent(InstallationService.java:429)
> > at
> > org.apache.servicemix.jbi.framework.InstallationService.doInstallArc
> > ive(InstallationService.java:380)
> > at
> > org.apache.servicemix.jbi.framework.InstallationService.install(Inst
> > llationService.java:306)
> > at
> > org.apache.servicemix.jbi.framework.AutoDeploymentService.updateComp
> > nent(AutoDeploymentService.java:289)
> > at
> > org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArch
> > ve(AutoDeploymentService.java:249)
> > at
> > org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDir
> > ctory(AutoDeploymentService.java:647)
> > at
> > org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800
> > AutoDeploymentService.java:60)
> > at
> > org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(Auto
> > eploymentService.java:611)
> > at java.util.TimerThread.mainLoop(Timer.java:512)
> > at java.util.TimerThread.run(Timer.java:462)
> > Caused by: javax.jbi.management.DeploymentException:
> > java.lang.ClassNotFoundExc
> > ption: org.apache.servicemix.samples.helloworld.se.MyBootstrap in
> > classloader o
> > g.apache.servicemix.samples.helloworld.se.MyBootstrap
> > at
> > org.apache.servicemix.jbi.framework.InstallerMBeanImpl.createBootstr
> > p(InstallerMBeanImpl.java:127)
> > at
> > org.apache.servicemix.jbi.framework.InstallerMBeanImpl.<init>(Instal
> > erMBeanImpl.java:68)
> > at
> > org.apache.servicemix.jbi.framework.InstallationService.initializeIn
> > taller(InstallationService.java:447)
> > ... 10 more
> > Caused by: java.lang.ClassNotFoundException:
> > org.apache.servicemix.samples.hell
> > world.se.MyBootstrap in classloader
> > org.apache.servicemix.samples.helloworld.se
> > MyBootstrap
> > at
> > org.apache.xbean.classloader.MultiParentClassLoader.loadClass(MultiP
> > rentClassLoader.java:206)
> > at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
> > at
> > org.apache.servicemix.jbi.framework.InstallerMBeanImpl.createBootstr
> > p(InstallerMBeanImpl.java:120)
> > ... 12 more
> > WARN - AutoDeploymentService - Directory: hotdeploy:
Automatic
> > instal
> > of
> > C:\apache-
> > servicemix-3.3-SNAPSHOT\hotdeploy\hello-world-se-1.0-SNAPSHOT-ins
> > aller.zip failed
> > javax.jbi.management.DeploymentException: Failed to update Component:
> > hello-wor
> > d-se
> > at
> > org.apache.servicemix.jbi.framework.AutoDeploymentService.updateComp
> > nent(AutoDeploymentService.java:300)
> > at
> > org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArch
> > ve(AutoDeploymentService.java:249)
> > at
> > org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDir
> > ctory(AutoDeploymentService.java:647)
> > at
> > org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800
> > AutoDeploymentService.java:60)
> > at
> > org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(Auto
> > eploymentService.java:611)
> > at java.util.TimerThread.mainLoop(Timer.java:512)
> > at java.util.TimerThread.run(Timer.java:462)
> > Caused by: javax.jbi.management.DeploymentException:
> > javax.jbi.management.Deplo
> > mentException: java.lang.ClassNotFoundException:
> > org.apache.servicemix.samples.
> > elloworld.se.MyBootstrap in classloader
> > org.apache.servicemix.samples.helloworl
> > ..se.MyBootstrap
> > at
> > org.apache.servicemix.jbi.framework.InstallationService.initializeIn
> > taller(InstallationService.java:456)
> > at
> > org.apache.servicemix.jbi.framework.InstallationService.doInstallCom
> >
> >
> > now i know Bruce has fixed it for 3,2.1... mayb changes haven't been
> > rolled over to 3.3?
> >
> > regards
> > marco
> >
> >
> >
> >
> > This communication is confidential, may be privileged and is meant
only
> > for the intended recipient. If you are
> > not the intended recipient, please notify the sender by reply and
delete
> > this message from your system. Any
> > unauthorised dissemination, distribution or copying hereof is
> > prohibited.
> >
> > BNP Paribas Fund Services UK Limited, BNP Paribas Trust Corporation UK
> > Limited, BNP Paribas UK Limited,
> > BNP Paribas Commodity Futures Ltd and Investment Fund Services Limited
> > are authorised and regulated by
> > the Financial Services Authority.
> >
> > BNP Paribas, BNP Paribas Securities Services and BNP Paribas Private
> > Bank are authorised by the CECEI
> > and AMF. BNP Paribas London Branch, BNP Paribas Securities Services
> > London Branch and BNP Paribas
> > Private Bank London Branch are regulated by the Financial Services
> > Authority for the conduct of their UK
> > business. BNP Paribas Securities Services London Branch is also a
> > member of the London Stock Exchange.
> >
> >
>
>
> --
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
--
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
This communication is confidential, may be privileged and is meant only for the intended recipient. If you are
not the intended recipient, please notify the sender by reply and delete this message from your system. Any
unauthorised dissemination, distribution or copying hereof is prohibited.
BNP Paribas Fund Services UK Limited, BNP Paribas Trust Corporation UK Limited, BNP Paribas UK Limited,
BNP Paribas Commodity Futures Ltd and Investment Fund Services Limited are authorised and regulated by
the Financial Services Authority.
BNP Paribas, BNP Paribas Securities Services and BNP Paribas Private Bank are authorised by the CECEI
and AMF. BNP Paribas London Branch, BNP Paribas Securities Services London Branch and BNP Paribas
Private Bank London Branch are regulated by the Financial Services Authority for the conduct of their UK
business. BNP Paribas Securities Services London Branch is also a member of the London Stock Exchange.
Re: 3.3-SNAPSHOT STILL looking for bootstrap class?
Posted by Guillaume Nodet <gn...@gmail.com>.
Btw, this has been fixed in trunk two months ago:
http://svn.apache.org/viewvc?view=rev&revision=599587
On Jan 25, 2008 11:04 AM, Guillaume Nodet <gn...@gmail.com> wrote:
> The problem is not in the servicemix container, but in the example afaik.
> So if you have build your archetypes using 3.3.-SNAPSHOT, then this
> would be a bug, but if you build those using an older version, even if you
> deploy them on 3.3, it won't fix the problem.
>
>
> On Jan 25, 2008 11:00 AM, <ma...@uk.bnpparibas.com> wrote:
>
> > hello all,
> > before filing a JIRA i want to make sure that i am not dreaming...
> > i got trunk from svn, and built it yesterday...
> >
> > today i tried to deploy hello-world-se sample from servicemix site, and
> > when i di di got following exception
> >
> > ERROR - AutoDeploymentService - Failed to update Component:
> > hello-worl
> > -se
> > javax.jbi.management.DeploymentException:
> > javax.jbi.management.DeploymentExcept
> > on: java.lang.ClassNotFoundException:
> > org.apache.servicemix.samples.helloworld.
> > e.MyBootstrap in classloader
> > org.apache.servicemix.samples.helloworld.se.MyBoot
> > trap
> > at
> > org.apache.servicemix.jbi.framework.InstallationService.initializeIn
> > taller(InstallationService.java:456)
> > at
> > org.apache.servicemix.jbi.framework.InstallationService.doInstallCom
> > onent(InstallationService.java:429)
> > at
> > org.apache.servicemix.jbi.framework.InstallationService.doInstallArc
> > ive(InstallationService.java:380)
> > at
> > org.apache.servicemix.jbi.framework.InstallationService.install(Inst
> > llationService.java:306)
> > at
> > org.apache.servicemix.jbi.framework.AutoDeploymentService.updateComp
> > nent(AutoDeploymentService.java:289)
> > at
> > org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArch
> > ve(AutoDeploymentService.java:249)
> > at
> > org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDir
> > ctory(AutoDeploymentService.java:647)
> > at
> > org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800
> > AutoDeploymentService.java:60)
> > at
> > org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(Auto
> > eploymentService.java:611)
> > at java.util.TimerThread.mainLoop(Timer.java:512)
> > at java.util.TimerThread.run(Timer.java:462)
> > Caused by: javax.jbi.management.DeploymentException:
> > java.lang.ClassNotFoundExc
> > ption: org.apache.servicemix.samples.helloworld.se.MyBootstrap in
> > classloader o
> > g.apache.servicemix.samples.helloworld.se.MyBootstrap
> > at
> > org.apache.servicemix.jbi.framework.InstallerMBeanImpl.createBootstr
> > p(InstallerMBeanImpl.java:127)
> > at
> > org.apache.servicemix.jbi.framework.InstallerMBeanImpl.<init>(Instal
> > erMBeanImpl.java:68)
> > at
> > org.apache.servicemix.jbi.framework.InstallationService.initializeIn
> > taller(InstallationService.java:447)
> > ... 10 more
> > Caused by: java.lang.ClassNotFoundException:
> > org.apache.servicemix.samples.hell
> > world.se.MyBootstrap in classloader
> > org.apache.servicemix.samples.helloworld.se
> > MyBootstrap
> > at
> > org.apache.xbean.classloader.MultiParentClassLoader.loadClass(MultiP
> > rentClassLoader.java:206)
> > at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
> > at
> > org.apache.servicemix.jbi.framework.InstallerMBeanImpl.createBootstr
> > p(InstallerMBeanImpl.java:120)
> > ... 12 more
> > WARN - AutoDeploymentService - Directory: hotdeploy: Automatic
> > instal
> > of
> > C:\apache-
> > servicemix-3.3-SNAPSHOT\hotdeploy\hello-world-se-1.0-SNAPSHOT-ins
> > aller.zip failed
> > javax.jbi.management.DeploymentException: Failed to update Component:
> > hello-wor
> > d-se
> > at
> > org.apache.servicemix.jbi.framework.AutoDeploymentService.updateComp
> > nent(AutoDeploymentService.java:300)
> > at
> > org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArch
> > ve(AutoDeploymentService.java:249)
> > at
> > org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDir
> > ctory(AutoDeploymentService.java:647)
> > at
> > org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800
> > AutoDeploymentService.java:60)
> > at
> > org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(Auto
> > eploymentService.java:611)
> > at java.util.TimerThread.mainLoop(Timer.java:512)
> > at java.util.TimerThread.run(Timer.java:462)
> > Caused by: javax.jbi.management.DeploymentException:
> > javax.jbi.management.Deplo
> > mentException: java.lang.ClassNotFoundException:
> > org.apache.servicemix.samples.
> > elloworld.se.MyBootstrap in classloader
> > org.apache.servicemix.samples.helloworl
> > ..se.MyBootstrap
> > at
> > org.apache.servicemix.jbi.framework.InstallationService.initializeIn
> > taller(InstallationService.java:456)
> > at
> > org.apache.servicemix.jbi.framework.InstallationService.doInstallCom
> >
> >
> > now i know Bruce has fixed it for 3,2.1... mayb changes haven't been
> > rolled over to 3.3?
> >
> > regards
> > marco
> >
> >
> >
> >
> > This communication is confidential, may be privileged and is meant only
> > for the intended recipient. If you are
> > not the intended recipient, please notify the sender by reply and delete
> > this message from your system. Any
> > unauthorised dissemination, distribution or copying hereof is
> > prohibited.
> >
> > BNP Paribas Fund Services UK Limited, BNP Paribas Trust Corporation UK
> > Limited, BNP Paribas UK Limited,
> > BNP Paribas Commodity Futures Ltd and Investment Fund Services Limited
> > are authorised and regulated by
> > the Financial Services Authority.
> >
> > BNP Paribas, BNP Paribas Securities Services and BNP Paribas Private
> > Bank are authorised by the CECEI
> > and AMF. BNP Paribas London Branch, BNP Paribas Securities Services
> > London Branch and BNP Paribas
> > Private Bank London Branch are regulated by the Financial Services
> > Authority for the conduct of their UK
> > business. BNP Paribas Securities Services London Branch is also a
> > member of the London Stock Exchange.
> >
> >
>
>
> --
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
--
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
Re: 3.3-SNAPSHOT STILL looking for bootstrap class?
Posted by Guillaume Nodet <gn...@gmail.com>.
The problem is not in the servicemix container, but in the example afaik.
So if you have build your archetypes using 3.3.-SNAPSHOT, then this
would be a bug, but if you build those using an older version, even if you
deploy them on 3.3, it won't fix the problem.
On Jan 25, 2008 11:00 AM, <ma...@uk.bnpparibas.com> wrote:
> hello all,
> before filing a JIRA i want to make sure that i am not dreaming...
> i got trunk from svn, and built it yesterday...
>
> today i tried to deploy hello-world-se sample from servicemix site, and
> when i di di got following exception
>
> ERROR - AutoDeploymentService - Failed to update Component:
> hello-worl
> -se
> javax.jbi.management.DeploymentException:
> javax.jbi.management.DeploymentExcept
> on: java.lang.ClassNotFoundException:
> org.apache.servicemix.samples.helloworld.
> e.MyBootstrap in classloader
> org.apache.servicemix.samples.helloworld.se.MyBoot
> trap
> at
> org.apache.servicemix.jbi.framework.InstallationService.initializeIn
> taller(InstallationService.java:456)
> at
> org.apache.servicemix.jbi.framework.InstallationService.doInstallCom
> onent(InstallationService.java:429)
> at
> org.apache.servicemix.jbi.framework.InstallationService.doInstallArc
> ive(InstallationService.java:380)
> at
> org.apache.servicemix.jbi.framework.InstallationService.install(Inst
> llationService.java:306)
> at
> org.apache.servicemix.jbi.framework.AutoDeploymentService.updateComp
> nent(AutoDeploymentService.java:289)
> at
> org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArch
> ve(AutoDeploymentService.java:249)
> at
> org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDir
> ctory(AutoDeploymentService.java:647)
> at
> org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800
> AutoDeploymentService.java:60)
> at
> org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(Auto
> eploymentService.java:611)
> at java.util.TimerThread.mainLoop(Timer.java:512)
> at java.util.TimerThread.run(Timer.java:462)
> Caused by: javax.jbi.management.DeploymentException:
> java.lang.ClassNotFoundExc
> ption: org.apache.servicemix.samples.helloworld.se.MyBootstrap in
> classloader o
> g.apache.servicemix.samples.helloworld.se.MyBootstrap
> at
> org.apache.servicemix.jbi.framework.InstallerMBeanImpl.createBootstr
> p(InstallerMBeanImpl.java:127)
> at
> org.apache.servicemix.jbi.framework.InstallerMBeanImpl.<init>(Instal
> erMBeanImpl.java:68)
> at
> org.apache.servicemix.jbi.framework.InstallationService.initializeIn
> taller(InstallationService.java:447)
> ... 10 more
> Caused by: java.lang.ClassNotFoundException:
> org.apache.servicemix.samples.hell
> world.se.MyBootstrap in classloader
> org.apache.servicemix.samples.helloworld.se
> MyBootstrap
> at
> org.apache.xbean.classloader.MultiParentClassLoader.loadClass(MultiP
> rentClassLoader.java:206)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
> at
> org.apache.servicemix.jbi.framework.InstallerMBeanImpl.createBootstr
> p(InstallerMBeanImpl.java:120)
> ... 12 more
> WARN - AutoDeploymentService - Directory: hotdeploy: Automatic
> instal
> of
> C:\apache-
> servicemix-3.3-SNAPSHOT\hotdeploy\hello-world-se-1.0-SNAPSHOT-ins
> aller.zip failed
> javax.jbi.management.DeploymentException: Failed to update Component:
> hello-wor
> d-se
> at
> org.apache.servicemix.jbi.framework.AutoDeploymentService.updateComp
> nent(AutoDeploymentService.java:300)
> at
> org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArch
> ve(AutoDeploymentService.java:249)
> at
> org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDir
> ctory(AutoDeploymentService.java:647)
> at
> org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800
> AutoDeploymentService.java:60)
> at
> org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(Auto
> eploymentService.java:611)
> at java.util.TimerThread.mainLoop(Timer.java:512)
> at java.util.TimerThread.run(Timer.java:462)
> Caused by: javax.jbi.management.DeploymentException:
> javax.jbi.management.Deplo
> mentException: java.lang.ClassNotFoundException:
> org.apache.servicemix.samples.
> elloworld.se.MyBootstrap in classloader
> org.apache.servicemix.samples.helloworl
> ..se.MyBootstrap
> at
> org.apache.servicemix.jbi.framework.InstallationService.initializeIn
> taller(InstallationService.java:456)
> at
> org.apache.servicemix.jbi.framework.InstallationService.doInstallCom
>
>
> now i know Bruce has fixed it for 3,2.1... mayb changes haven't been
> rolled over to 3.3?
>
> regards
> marco
>
>
>
>
> This communication is confidential, may be privileged and is meant only
> for the intended recipient. If you are
> not the intended recipient, please notify the sender by reply and delete
> this message from your system. Any
> unauthorised dissemination, distribution or copying hereof is prohibited.
>
> BNP Paribas Fund Services UK Limited, BNP Paribas Trust Corporation UK
> Limited, BNP Paribas UK Limited,
> BNP Paribas Commodity Futures Ltd and Investment Fund Services Limited are
> authorised and regulated by
> the Financial Services Authority.
>
> BNP Paribas, BNP Paribas Securities Services and BNP Paribas Private Bank
> are authorised by the CECEI
> and AMF. BNP Paribas London Branch, BNP Paribas Securities Services
> London Branch and BNP Paribas
> Private Bank London Branch are regulated by the Financial Services
> Authority for the conduct of their UK
> business. BNP Paribas Securities Services London Branch is also a member
> of the London Stock Exchange.
>
>
--
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
3.3-SNAPSHOT STILL looking for bootstrap class?
Posted by ma...@uk.bnpparibas.com.
hello all,
before filing a JIRA i want to make sure that i am not dreaming...
i got trunk from svn, and built it yesterday...
today i tried to deploy hello-world-se sample from servicemix site, and
when i di di got following exception
ERROR - AutoDeploymentService - Failed to update Component:
hello-worl
-se
javax.jbi.management.DeploymentException:
javax.jbi.management.DeploymentExcept
on: java.lang.ClassNotFoundException:
org.apache.servicemix.samples.helloworld.
e.MyBootstrap in classloader
org.apache.servicemix.samples.helloworld.se.MyBoot
trap
at
org.apache.servicemix.jbi.framework.InstallationService.initializeIn
taller(InstallationService.java:456)
at
org.apache.servicemix.jbi.framework.InstallationService.doInstallCom
onent(InstallationService.java:429)
at
org.apache.servicemix.jbi.framework.InstallationService.doInstallArc
ive(InstallationService.java:380)
at
org.apache.servicemix.jbi.framework.InstallationService.install(Inst
llationService.java:306)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateComp
nent(AutoDeploymentService.java:289)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArch
ve(AutoDeploymentService.java:249)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDir
ctory(AutoDeploymentService.java:647)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800
AutoDeploymentService.java:60)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(Auto
eploymentService.java:611)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
Caused by: javax.jbi.management.DeploymentException:
java.lang.ClassNotFoundExc
ption: org.apache.servicemix.samples.helloworld.se.MyBootstrap in
classloader o
g.apache.servicemix.samples.helloworld.se.MyBootstrap
at
org.apache.servicemix.jbi.framework.InstallerMBeanImpl.createBootstr
p(InstallerMBeanImpl.java:127)
at
org.apache.servicemix.jbi.framework.InstallerMBeanImpl.<init>(Instal
erMBeanImpl.java:68)
at
org.apache.servicemix.jbi.framework.InstallationService.initializeIn
taller(InstallationService.java:447)
... 10 more
Caused by: java.lang.ClassNotFoundException:
org.apache.servicemix.samples.hell
world.se.MyBootstrap in classloader
org.apache.servicemix.samples.helloworld.se
MyBootstrap
at
org.apache.xbean.classloader.MultiParentClassLoader.loadClass(MultiP
rentClassLoader.java:206)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at
org.apache.servicemix.jbi.framework.InstallerMBeanImpl.createBootstr
p(InstallerMBeanImpl.java:120)
... 12 more
WARN - AutoDeploymentService - Directory: hotdeploy: Automatic
instal
of
C:\apache-servicemix-3.3-SNAPSHOT\hotdeploy\hello-world-se-1.0-SNAPSHOT-ins
aller.zip failed
javax.jbi.management.DeploymentException: Failed to update Component:
hello-wor
d-se
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateComp
nent(AutoDeploymentService.java:300)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArch
ve(AutoDeploymentService.java:249)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDir
ctory(AutoDeploymentService.java:647)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800
AutoDeploymentService.java:60)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(Auto
eploymentService.java:611)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
Caused by: javax.jbi.management.DeploymentException:
javax.jbi.management.Deplo
mentException: java.lang.ClassNotFoundException:
org.apache.servicemix.samples.
elloworld.se.MyBootstrap in classloader
org.apache.servicemix.samples.helloworl
..se.MyBootstrap
at
org.apache.servicemix.jbi.framework.InstallationService.initializeIn
taller(InstallationService.java:456)
at
org.apache.servicemix.jbi.framework.InstallationService.doInstallCom
now i know Bruce has fixed it for 3,2.1... mayb changes haven't been
rolled over to 3.3?
regards
marco
This communication is confidential, may be privileged and is meant only for the intended recipient. If you are
not the intended recipient, please notify the sender by reply and delete this message from your system. Any
unauthorised dissemination, distribution or copying hereof is prohibited.
BNP Paribas Fund Services UK Limited, BNP Paribas Trust Corporation UK Limited, BNP Paribas UK Limited,
BNP Paribas Commodity Futures Ltd and Investment Fund Services Limited are authorised and regulated by
the Financial Services Authority.
BNP Paribas, BNP Paribas Securities Services and BNP Paribas Private Bank are authorised by the CECEI
and AMF. BNP Paribas London Branch, BNP Paribas Securities Services London Branch and BNP Paribas
Private Bank London Branch are regulated by the Financial Services Authority for the conduct of their UK
business. BNP Paribas Securities Services London Branch is also a member of the London Stock Exchange.
Re: ServiceMix - EDA - Database
Posted by James Strachan <ja...@gmail.com>.
BTW Sybase Replication Server is pretty awesome at handling database
changes and letting you get notified; though its commercial. I'm not
sure if there's a good open source alternative though. I wonder if
this tool is useful...
http://opensource.replicator.daffodilsw.com/
On 25/01/2008, James Strachan <ja...@gmail.com> wrote:
> If you want to monitor loads of tables, you could use a trigger to
> populate a single 'whats updated' table, so you only have one table to
> poll, rather than loads; this should keep load off of the main data
> tables as they are then only accessed when something changes.
>
>
> On 25/01/2008, Guillaume Nodet <gn...@gmail.com> wrote:
> > You need to make sure the query for changes is indexed and fast for the DB.
> > As bruce suggested, you could add a boolean column that would indicate that
> > the row has been changed (it can be populated using a trigger),
> > then you just have to index it and query the columns that have this boolean
> > true.
> > You could even call a stored procedure from servicemix so that the modified
> > records
> > are returned and set back to false at the same time (instead of having
> > servicemix
> > update them later).
> >
> > On Jan 24, 2008 11:16 PM, cchalmers <CC...@iprofs.nl> wrote:
> >
> > >
> > > Hi Bruce,
> > >
> > > thx for your reply.
> > > Well basically were setting up a small test application to prove and gain
> > > knowledge of an Event Driven Architecture. Its based on a simple
> > > application
> > > whereby someone can make a travel booking via a web page. The data is
> > > persisted in a mysql database. I then want to alter the data using a sql
> > > script meaning the flight would be delayed. This should trigger an event
> > > afterwhich I want the application to notify all passengers on the flight
> > > via email or sms. Our setup uses Grails for the web-pages, servicemix as
> > > esb
> > > and mysql as database.
> > >
> > > I could poll the database every so often from the esb looking for records
> > > that have been changed but am apprehensive about the load on the database
> > > should there be lots of records in a real life situation. I was interested
> > > in using triggers from the database but how to pass an event from a db
> > > through to servicemix? I would be interested in you thoughts on that one.
> > >
> > > Appreciate your help
> > >
> > > Colin
> > >
> > >
> > >
> > >
> > > bsnyder wrote:
> > > >
> > > > On Jan 19, 2008 2:21 PM, cchalmers <CC...@iprofs.nl> wrote:
> > > >>
> > > >> Hi,
> > > >>
> > > >> Together with a colleague I've just started a small project to build up
> > > >> knowledge concerning EDA and have currently chosen ServiceMix as the
> > > >> implementation tool. Bear with me as a lot of this is new new to me.
> > > >>
> > > >> The case we're trying to implement is a travel booking-system.
> > > Employees,
> > > >> customers and airlines can be persisted after-which a customer can make
> > > a
> > > >> booking etc.
> > > >>
> > > >> One of the things we want to prove is that when data changes in the
> > > >> database
> > > >> that an event is generated and action undertaken. For example if the
> > > >> flight
> > > >> data changes we want to send an sms to the passengers about the time
> > > >> change.
> > > >>
> > > >> I read that others are connecting to databases via the spring jdbc
> > > >> template.
> > > >> The question is how an event as generated concerning the changed data?
> > > As
> > > >> far as I see it there are two paths:
> > > >>
> > > >> 1. Continually polling the database from servicemix looking for changed
> > > >> records which would have to have a last-modified data and then
> > > generating
> > > >> an
> > > >> event
> > > >> 2. Working with triggers in the database which would somehow have to
> > > send
> > > >> an
> > > >> event to servicemix so that the sms can be sent.
> > > >>
> > > >> Is there a third (or more) option which I'm unaware of and is standard
> > > in
> > > >> servicemix?
> > > >> Perhaps I'm misunderstanding the EDA concept and how servicemix
> > > achieves
> > > >> this?
> > > >
> > > > Your understanding is correct; there are basically two ways to
> > > > determine if data in a database has changed:
> > > >
> > > > 1) Poll the database with an external application, or
> > > > 2) Configure a trigger in the database to notify an external application
> > > >
> > > > Of course, the implementation of #1 above can be implemented in many,
> > > > many different ways. There are advantages and disadvantages to each
> > > > and the oly way to find a solution that will work for you is by using
> > > > specifics about your environment and your use case.
> > > >
> > > > Bruce
> > > > --
> > > > perl -e 'print
> > > > unpack("u30","D0G)U8V4\@4VYY9&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*"
> > > > );'
> > > >
> > > > Apache ActiveMQ - http://activemq.org/
> > > > Apache Camel - http://activemq.org/camel/
> > > > Apache ServiceMix - http://servicemix.org/
> > > > Apache Geronimo - http://geronimo.apache.org/
> > > >
> > > > Blog: http://bruceblog.org/
> > > >
> > >
> > > --
> > > View this message in context:
> > >
> > http://www.nabble.com/ServiceMix---EDA---Database-tp14975289s12049p15076425.html
> > > Sent from the ServiceMix - User mailing list archive at Nabble.com.
> > >
> > >
> >
> >
> > --
> > Cheers,
> > Guillaume Nodet
> > ------------------------
> > Blog: http://gnodet.blogspot.com/
> >
>
>
> --
> James
> -------
> http://macstrac.blogspot.com/
>
> Open Source Integration
> http://open.iona.com
>
--
James
-------
http://macstrac.blogspot.com/
Open Source Integration
http://open.iona.com
Re: ServiceMix - EDA - Database
Posted by James Strachan <ja...@gmail.com>.
If you want to monitor loads of tables, you could use a trigger to
populate a single 'whats updated' table, so you only have one table to
poll, rather than loads; this should keep load off of the main data
tables as they are then only accessed when something changes.
On 25/01/2008, Guillaume Nodet <gn...@gmail.com> wrote:
> You need to make sure the query for changes is indexed and fast for the DB.
> As bruce suggested, you could add a boolean column that would indicate that
> the row has been changed (it can be populated using a trigger),
> then you just have to index it and query the columns that have this boolean
> true.
> You could even call a stored procedure from servicemix so that the modified
> records
> are returned and set back to false at the same time (instead of having
> servicemix
> update them later).
>
> On Jan 24, 2008 11:16 PM, cchalmers <CC...@iprofs.nl> wrote:
>
> >
> > Hi Bruce,
> >
> > thx for your reply.
> > Well basically were setting up a small test application to prove and gain
> > knowledge of an Event Driven Architecture. Its based on a simple
> > application
> > whereby someone can make a travel booking via a web page. The data is
> > persisted in a mysql database. I then want to alter the data using a sql
> > script meaning the flight would be delayed. This should trigger an event
> > afterwhich I want the application to notify all passengers on the flight
> > via email or sms. Our setup uses Grails for the web-pages, servicemix as
> > esb
> > and mysql as database.
> >
> > I could poll the database every so often from the esb looking for records
> > that have been changed but am apprehensive about the load on the database
> > should there be lots of records in a real life situation. I was interested
> > in using triggers from the database but how to pass an event from a db
> > through to servicemix? I would be interested in you thoughts on that one.
> >
> > Appreciate your help
> >
> > Colin
> >
> >
> >
> >
> > bsnyder wrote:
> > >
> > > On Jan 19, 2008 2:21 PM, cchalmers <CC...@iprofs.nl> wrote:
> > >>
> > >> Hi,
> > >>
> > >> Together with a colleague I've just started a small project to build up
> > >> knowledge concerning EDA and have currently chosen ServiceMix as the
> > >> implementation tool. Bear with me as a lot of this is new new to me.
> > >>
> > >> The case we're trying to implement is a travel booking-system.
> > Employees,
> > >> customers and airlines can be persisted after-which a customer can make
> > a
> > >> booking etc.
> > >>
> > >> One of the things we want to prove is that when data changes in the
> > >> database
> > >> that an event is generated and action undertaken. For example if the
> > >> flight
> > >> data changes we want to send an sms to the passengers about the time
> > >> change.
> > >>
> > >> I read that others are connecting to databases via the spring jdbc
> > >> template.
> > >> The question is how an event as generated concerning the changed data?
> > As
> > >> far as I see it there are two paths:
> > >>
> > >> 1. Continually polling the database from servicemix looking for changed
> > >> records which would have to have a last-modified data and then
> > generating
> > >> an
> > >> event
> > >> 2. Working with triggers in the database which would somehow have to
> > send
> > >> an
> > >> event to servicemix so that the sms can be sent.
> > >>
> > >> Is there a third (or more) option which I'm unaware of and is standard
> > in
> > >> servicemix?
> > >> Perhaps I'm misunderstanding the EDA concept and how servicemix
> > achieves
> > >> this?
> > >
> > > Your understanding is correct; there are basically two ways to
> > > determine if data in a database has changed:
> > >
> > > 1) Poll the database with an external application, or
> > > 2) Configure a trigger in the database to notify an external application
> > >
> > > Of course, the implementation of #1 above can be implemented in many,
> > > many different ways. There are advantages and disadvantages to each
> > > and the oly way to find a solution that will work for you is by using
> > > specifics about your environment and your use case.
> > >
> > > Bruce
> > > --
> > > perl -e 'print
> > > unpack("u30","D0G)U8V4\@4VYY9&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*"
> > > );'
> > >
> > > Apache ActiveMQ - http://activemq.org/
> > > Apache Camel - http://activemq.org/camel/
> > > Apache ServiceMix - http://servicemix.org/
> > > Apache Geronimo - http://geronimo.apache.org/
> > >
> > > Blog: http://bruceblog.org/
> > >
> >
> > --
> > View this message in context:
> >
> http://www.nabble.com/ServiceMix---EDA---Database-tp14975289s12049p15076425.html
> > Sent from the ServiceMix - User mailing list archive at Nabble.com.
> >
> >
>
>
> --
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
>
--
James
-------
http://macstrac.blogspot.com/
Open Source Integration
http://open.iona.com
Re: ServiceMix - EDA - Database
Posted by Guillaume Nodet <gn...@gmail.com>.
You need to make sure the query for changes is indexed and fast for the DB.
As bruce suggested, you could add a boolean column that would indicate that
the row has been changed (it can be populated using a trigger),
then you just have to index it and query the columns that have this boolean
true.
You could even call a stored procedure from servicemix so that the modified
records
are returned and set back to false at the same time (instead of having
servicemix
update them later).
On Jan 24, 2008 11:16 PM, cchalmers <CC...@iprofs.nl> wrote:
>
> Hi Bruce,
>
> thx for your reply.
> Well basically were setting up a small test application to prove and gain
> knowledge of an Event Driven Architecture. Its based on a simple
> application
> whereby someone can make a travel booking via a web page. The data is
> persisted in a mysql database. I then want to alter the data using a sql
> script meaning the flight would be delayed. This should trigger an event
> afterwhich I want the application to notify all passengers on the flight
> via email or sms. Our setup uses Grails for the web-pages, servicemix as
> esb
> and mysql as database.
>
> I could poll the database every so often from the esb looking for records
> that have been changed but am apprehensive about the load on the database
> should there be lots of records in a real life situation. I was interested
> in using triggers from the database but how to pass an event from a db
> through to servicemix? I would be interested in you thoughts on that one.
>
> Appreciate your help
>
> Colin
>
>
>
>
> bsnyder wrote:
> >
> > On Jan 19, 2008 2:21 PM, cchalmers <CC...@iprofs.nl> wrote:
> >>
> >> Hi,
> >>
> >> Together with a colleague I've just started a small project to build up
> >> knowledge concerning EDA and have currently chosen ServiceMix as the
> >> implementation tool. Bear with me as a lot of this is new new to me.
> >>
> >> The case we're trying to implement is a travel booking-system.
> Employees,
> >> customers and airlines can be persisted after-which a customer can make
> a
> >> booking etc.
> >>
> >> One of the things we want to prove is that when data changes in the
> >> database
> >> that an event is generated and action undertaken. For example if the
> >> flight
> >> data changes we want to send an sms to the passengers about the time
> >> change.
> >>
> >> I read that others are connecting to databases via the spring jdbc
> >> template.
> >> The question is how an event as generated concerning the changed data?
> As
> >> far as I see it there are two paths:
> >>
> >> 1. Continually polling the database from servicemix looking for changed
> >> records which would have to have a last-modified data and then
> generating
> >> an
> >> event
> >> 2. Working with triggers in the database which would somehow have to
> send
> >> an
> >> event to servicemix so that the sms can be sent.
> >>
> >> Is there a third (or more) option which I'm unaware of and is standard
> in
> >> servicemix?
> >> Perhaps I'm misunderstanding the EDA concept and how servicemix
> achieves
> >> this?
> >
> > Your understanding is correct; there are basically two ways to
> > determine if data in a database has changed:
> >
> > 1) Poll the database with an external application, or
> > 2) Configure a trigger in the database to notify an external application
> >
> > Of course, the implementation of #1 above can be implemented in many,
> > many different ways. There are advantages and disadvantages to each
> > and the oly way to find a solution that will work for you is by using
> > specifics about your environment and your use case.
> >
> > Bruce
> > --
> > perl -e 'print
> > unpack("u30","D0G)U8V4\@4VYY9&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*"
> > );'
> >
> > Apache ActiveMQ - http://activemq.org/
> > Apache Camel - http://activemq.org/camel/
> > Apache ServiceMix - http://servicemix.org/
> > Apache Geronimo - http://geronimo.apache.org/
> >
> > Blog: http://bruceblog.org/
> >
>
> --
> View this message in context:
> http://www.nabble.com/ServiceMix---EDA---Database-tp14975289s12049p15076425.html
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>
>
--
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
Re: ServiceMix - EDA - Database
Posted by cchalmers <CC...@iprofs.nl>.
Hi Bruce,
thx for your reply.
Well basically were setting up a small test application to prove and gain
knowledge of an Event Driven Architecture. Its based on a simple application
whereby someone can make a travel booking via a web page. The data is
persisted in a mysql database. I then want to alter the data using a sql
script meaning the flight would be delayed. This should trigger an event
afterwhich I want the application to notify all passengers on the flight
via email or sms. Our setup uses Grails for the web-pages, servicemix as esb
and mysql as database.
I could poll the database every so often from the esb looking for records
that have been changed but am apprehensive about the load on the database
should there be lots of records in a real life situation. I was interested
in using triggers from the database but how to pass an event from a db
through to servicemix? I would be interested in you thoughts on that one.
Appreciate your help
Colin
bsnyder wrote:
>
> On Jan 19, 2008 2:21 PM, cchalmers <CC...@iprofs.nl> wrote:
>>
>> Hi,
>>
>> Together with a colleague I've just started a small project to build up
>> knowledge concerning EDA and have currently chosen ServiceMix as the
>> implementation tool. Bear with me as a lot of this is new new to me.
>>
>> The case we're trying to implement is a travel booking-system. Employees,
>> customers and airlines can be persisted after-which a customer can make a
>> booking etc.
>>
>> One of the things we want to prove is that when data changes in the
>> database
>> that an event is generated and action undertaken. For example if the
>> flight
>> data changes we want to send an sms to the passengers about the time
>> change.
>>
>> I read that others are connecting to databases via the spring jdbc
>> template.
>> The question is how an event as generated concerning the changed data? As
>> far as I see it there are two paths:
>>
>> 1. Continually polling the database from servicemix looking for changed
>> records which would have to have a last-modified data and then generating
>> an
>> event
>> 2. Working with triggers in the database which would somehow have to send
>> an
>> event to servicemix so that the sms can be sent.
>>
>> Is there a third (or more) option which I'm unaware of and is standard in
>> servicemix?
>> Perhaps I'm misunderstanding the EDA concept and how servicemix achieves
>> this?
>
> Your understanding is correct; there are basically two ways to
> determine if data in a database has changed:
>
> 1) Poll the database with an external application, or
> 2) Configure a trigger in the database to notify an external application
>
> Of course, the implementation of #1 above can be implemented in many,
> many different ways. There are advantages and disadvantages to each
> and the oly way to find a solution that will work for you is by using
> specifics about your environment and your use case.
>
> Bruce
> --
> perl -e 'print
> unpack("u30","D0G)U8V4\@4VYY9&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*"
> );'
>
> Apache ActiveMQ - http://activemq.org/
> Apache Camel - http://activemq.org/camel/
> Apache ServiceMix - http://servicemix.org/
> Apache Geronimo - http://geronimo.apache.org/
>
> Blog: http://bruceblog.org/
>
--
View this message in context: http://www.nabble.com/ServiceMix---EDA---Database-tp14975289s12049p15076425.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.
Re: ServiceMix - EDA - Database
Posted by Bruce Snyder <br...@gmail.com>.
On Jan 19, 2008 2:21 PM, cchalmers <CC...@iprofs.nl> wrote:
>
> Hi,
>
> Together with a colleague I've just started a small project to build up
> knowledge concerning EDA and have currently chosen ServiceMix as the
> implementation tool. Bear with me as a lot of this is new new to me.
>
> The case we're trying to implement is a travel booking-system. Employees,
> customers and airlines can be persisted after-which a customer can make a
> booking etc.
>
> One of the things we want to prove is that when data changes in the database
> that an event is generated and action undertaken. For example if the flight
> data changes we want to send an sms to the passengers about the time change.
>
> I read that others are connecting to databases via the spring jdbc template.
> The question is how an event as generated concerning the changed data? As
> far as I see it there are two paths:
>
> 1. Continually polling the database from servicemix looking for changed
> records which would have to have a last-modified data and then generating an
> event
> 2. Working with triggers in the database which would somehow have to send an
> event to servicemix so that the sms can be sent.
>
> Is there a third (or more) option which I'm unaware of and is standard in
> servicemix?
> Perhaps I'm misunderstanding the EDA concept and how servicemix achieves
> this?
Your understanding is correct; there are basically two ways to
determine if data in a database has changed:
1) Poll the database with an external application, or
2) Configure a trigger in the database to notify an external application
Of course, the implementation of #1 above can be implemented in many,
many different ways. There are advantages and disadvantages to each
and the oly way to find a solution that will work for you is by using
specifics about your environment and your use case.
Bruce
--
perl -e 'print unpack("u30","D0G)U8V4\@4VYY9&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*"
);'
Apache ActiveMQ - http://activemq.org/
Apache Camel - http://activemq.org/camel/
Apache ServiceMix - http://servicemix.org/
Apache Geronimo - http://geronimo.apache.org/
Blog: http://bruceblog.org/