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/