|
Absolutely correct, Joe. A trigger should do the littlest amount of work possible to get the job done. Messaging queuing could be a great way to separate a time consuming task from the DB, as well as providing some resilience to system failures and other problems. One could also simply use a table to accomplish the same thing. Just have a Java process that is started by the system, and then have it poll the table for entries. The trigger could then just put entries in the table and then end. There are countless other ways this can be accomplished as well. The bottom line is, to quote Joe, "You want to do the least amount of work necessary when you use a trigger". Chris DeLashmutt Senior R&D Analyst LeasePlan USA 1165 Sanctuary Pkwy., Alpharetta, GA 30004 Phone: 678-202-8695 Fax: 678-921-4895 ClearCase problems? Check out the LeasePlan ClearCase FAQ for answers! "Joe Sam Shirah" <jshirah@attglobal. To: "Java Programming on and around the iSeries / AS400" net> <java400-l@xxxxxxxxxxxx> Sent by: cc: java400-l-bounces@m Subject: Re: Triggers? idrange.com 01/21/2005 01:43 PM Please respond to Java Programming on and around the iSeries / AS400 Hi Chad, Just to follow up on Chris' response: Many programmers think triggers are a great idea until they do tons of work on each DB change and things begin to bog down. You want to do the least amount of work necessary when you use a trigger, regerdless of language. For example, one of our clients sends a fax when certain criteria is met for a database operation. Rather than having the ( RPG ) trigger do the time comsuming work, it just sends notification and the required info to a message queue, then returns. A Java program monitors the message queue and performs all necessary operations asynchronously, so the original application throughput is affected as little as possible. Joe Sam Joe Sam Shirah - http://www.conceptgo.com conceptGO - Consulting/Development/Outsourcing Java Filter Forum: http://www.ibm.com/developerworks/java/ Just the JDBC FAQs: http://www.jguru.com/faq/JDBC Going International? http://www.jguru.com/faq/I18N Que Java400? http://www.jguru.com/faq/Java400 ----- Original Message ----- From: <chris.delashmutt@xxxxxxxxxxxxx> To: "Java Programming on and around the iSeries / AS400" <java400-l@xxxxxxxxxxxx> Cc: <java400-l@xxxxxxxxxxxx>; <java400-l-bounces@xxxxxxxxxxxx> Sent: Friday, January 21, 2005 12:42 PM Subject: Re: Triggers? > > We do this now, but you have to write a little wrapper around the Java to > get it to be called from the trigger. > > We've actually accomplished this on V5R1 via creating a Java Stored > procedure, and then calling that stored procedure via an SQL trigger. This > is nice because the DB is managing the lifecycle of the JVM, and I believe > the startup cost of the JVM only has to be paid once per job. > > We've also created a small externally defined trigger in a high level > language that actually calls/submits a call to run a Java class. This > works ok as well, except that the JVM has to be started for each call. > That may not be an issue if this is on a slowly changing file. > > I would just say that in either of these methods you want to make sure that > you realize exactly how often this trigger is going to be called. It is > very easy to end up in a bad situation if you attach a trigger to a file > that has transactions performed on it often. You'll either slow down your > operations tremendously using the first method, or end up with too many > jobs submitted for the system to handle in a timely manner in the second. > Just be careful! > > Chris DeLashmutt > Senior R&D Analyst > LeasePlan USA > 1165 Sanctuary Pkwy., Alpharetta, GA 30004 > Phone: 678-202-8695 > Fax: 678-921-4895 > ClearCase problems? Check out the LeasePlan ClearCase FAQ for answers! > > > > "cornelius, chad" > <chad.cornelius@xxxxxxxxxx To: "'java400-l@xxxxxxxxxxxx'" <java400-l@xxxxxxxxxxxx> > tate.co.us> cc: > Sent by: Subject: Triggers? > java400-l-bounces@midrange > .com > > > 01/21/2005 12:13 PM > Please respond to Java > Programming on and around > the iSeries / AS400 > > > > > > Does anyone know if it is possible to create a trigger that can execute a > java class? > > > > Thanks, > > Chad > -- This is the Java Programming on and around the iSeries / AS400 (JAVA400-L) mailing list To post a message email: JAVA400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/java400-l or email: JAVA400-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/java400-l.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.