在上篇文章解决 oracle触发器+存储过程发送http请求 问题之后,发现了一个问题:
如果web接口崩溃致使web请求失败,由于web请求的timeout最终导致触发器执行周期非常长,因此无法应用于实际项目。遂想到oracle是可以运行简单java代码的,用java代码异步执行web请求是否可以解决该问题呢?
因此本文介绍了oracle 加载java 类实现访问http请求。
1、加载 java source
在 sql 编辑器中运行 以下代码创建java source
create or replace and compile java source named demo as
import java.net.*;
public class Demo {
public static void main(String[] args) {
Thread thread=new Thread(new Runnable() {
public void run() {
try {
URL url = new URL("http://127.0.0.1:8902/api/service/alarmnotify/");
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setRequestProperty("Content-Type", "application/json");
connection.setDoOutput(true);
int responseCode= connection.getResponseCode();
}
catch (Exception e) {
e.printStackTrace();
}
}
}