From: | macolman at tiscali(dot)co(dot)uk (Mark Colman) |
---|---|
To: | |
Subject: | [Pljava-dev] Trigger problem |
Date: | 2006-04-23 01:00:31 |
Message-ID: | 000001c666719dee00$c800a8c0@DUR.AC.UK |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pljava-dev |
Hi,
I am running PostgreSQL 8.1 on Windows and installed pl/java automatically
using the Windows installer. I have created a simple table and executed the
following:
Create function emailme()
Returns trigger
As 'dbudf.SendMail.send'
Language java;
Create trigger trg_emailme
After insert on aTable
For each row
Execute procedure emailme();
I have written the following class:
package dbudf;
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
public class SendMail
{
public static void send(org.postgresql.pljava.TriggerData td)
{try{
Properties props = System.getProperties();
props.put("mail.smtp.host", "smtp.tiscali.co.uk");
Session session = Session.getDefaultInstance(props, null);
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress("macolman at tiscali.co.uk"));
msg.setRecipients(Message.RecipientType.TO,
InternetAddress.parse("m.a.colman at durham.ac.uk", false));
msg.setSubject("A change to your data");
msg.setText("Your database has been changed.\n\nPlease use
the PGAdmin tool to browse the table involved.\n\nMark Colman");
msg.setHeader("X-Mailer", "LOTONtechEmail");
msg.setSentDate(new Date());
Transport.send(msg);
}
catch (Exception e)
{
System.err.println("Error: "+e.toString());
}
}
}
Which compiles fine, put it in a directory dbudf, and added the directory to
a jar called SendMail.jar - I can then call dbudf.SendMail.send(null) from
within a simple test harness and it sends the e-mail message expected.
I have then executed
Select
sqlj.install_jar('file:///c:/j2sdk1.4.2_09/lib/SendMail.jar','SendMail',true
);
Select sqlj.set_classpath('public','SendMail');
Which seems fine. Then I insert a row into the table, and get
ERROR: Unable to find static method dbudf.SendMail.send with signature
(Lorg/postgresql/pljava/TriggerData;)V
Any help greatly appreciated - I am sure this is something glaringly obvious
that I'm missing.
Mark
From | Date | Subject | |
---|---|---|---|
Next Message | Mujde Pamuk | 2006-04-23 02:09:24 | [Pljava-dev] pljava-1.3dev compile problem |
Previous Message | Thomas Hallgren | 2006-04-20 21:53:05 | [Pljava-dev] Returning a complex type with potential null parameters |