Informix - Trigger a java class
Posted in 2006
Topics: Triggers, Constraints & Referential Integrity, Java & JDBC Development
Hi all Just wondering if it is possible to trigger a java class from informix. The scenario is that I want to have a print queue table and once a record is inserted in the table informix should trigger the java class. This class will use the data in the print queue table and look up other tables to find information needed to print the document. Can this be done, if so how? Peter
You can create procedures/functions in Informix mapping
them to Java classes. See the manual for details on setting
Informix to run java procedures and using them.
http://publib.boulder.ibm.com/infocenter/idshelp/v10/index.jsp?topic=/com.ibm.jfoun.doc/jfoun.htm
CREATE FUNCTION PrintAction(int a , lvarchar b)
WITH (CLASS="jvp")EXTERNAL NAME 'FirstUDR.Add(java.lang.integer, java.lang.String)'
LANGUAGE java;
CREATE TRIGGER tab1instrig INSERT ON tab1REFERENCING NEW as new
FOR EACH ROW (EXECUTE PROCEDURE PrintAction(new.id, new.info));
Within FOR EACH ROW or AFTER section of INSERT trigger,
simply execute this procedure or function to run the Java code.
cheers,
Keshav.
You can create procedures/functions in Informix mapping
them to Java classes. See the manual for details on setting
Informix to run java procedures and using them.
http://publib.boulder.ibm.com/infocenter/idshelp/v10/index.jsp?topic=/com.ibm.jfoun.doc/jfoun.htm
CREATE PROCEDURE PrintAction(int a , lvarchar b)
WITH (CLASS="jvp")EXTERNAL NAME 'FirstUDR.Add(java.lang.integer, java.lang.String)'
LANGUAGE java;
CREATE TRIGGER tab1instrig INSERT ON tab1REFERENCING NEW as new
FOR EACH ROW (EXECUTE PROCEDURE PrintAction(new.id, new.info));
Within FOR EACH ROW or AFTER section of INSERT trigger,
simply execute this procedure or function to run the Java code.
cheers,
Keshav.
Thanks for the reply Is there a way to run a java program which isn't a UDR, i.e. it doesn't have to be installed in the database server? The code you provided above is exactly what I need only I want my java code to be located somewhere else on the same box. Thanks Peter