我想开发一个应用程序,在quit之前必须运行一个新的守护进程来执行主要方法一类。JDK 6:有没有办法运行一个新的java进程,执行指定类的主要方法
我要求在主应用程序退出后,守护进程仍然必须执行。
这是一个在Oracle数据库上运行的Java存储过程,因此我无法使用Runtime.exec,因为我无法从操作系统Shell找到java类,因为它是在数据库结构而不是文件系统文件中定义的。
特别地,期望的行为应该是一个远程数据库会话期间我应该能够
呼叫运行守护进程和退出离开该守护进程在执行状态下的第一Java方法
和然后(具有守护进程向上和会话控制,因为在最后一次调用终止)必然
呼叫与该守护进程进行通信的方法(即退出最后在通信结束时)
这可能吗?
感谢
更新
我的确切需要的是创造和加载(达到最好的表演),一个大的文本文件导入数据库假设主机不从具有文件传输服务Java JDK6客户端应用程序使用JDBC-11G oci驱动程序连接到Oracle 11gR1数据库。
我已经开发了一个工作解决方案,通过调用一个存储在文件中的LOB(大型数据库对象)作为输入的过程,但是这种方法使用了太多我想避免的中间结构。
所以我想在第一次调用时在DB上创建一个ServerSocket,然后连接到它并通过直接和快速的通信建立数据传输。
我遇到的问题出来了,因为创建ServerSocket的java程序不能退出,并让一个正在执行的线程/进程监听该Socket和客户端,以确保ServerSocket已经创建,不能运行一个单独的线程来处理剩余的工作。
希望得到澄清
nice guitar +1;) – OlimilOops 2010-06-19 09:18:15
我有疑问这是可能的,但我也试图寻找不同的解决方案。 我没有评估使用事件编程,但这会稍微复杂一点,因为这样做我想我应该: 连接到数据库以建立第一个会话,然后在终止之前等待QUIT事件。 再次连接到另一个线程中的数据库,并建立第二个会话,其行为像守护进程并生成QUIT事件。 一旦第一个会话终止,其线程可以执行与剩余会话的通信。 你认为它可以工作吗? – 2010-06-19 09:28:48
@Oops - 是的,它是Takamine LTD 99,只希望我能更好地演奏它! – djna 2010-06-19 09:43:27