1

我需要编写一个 Oracle Java 存储过程来使用存储过程将消息写入 MQ。我按照链接的指示进行操作,并且有效。根据链接,它需要将 JavaEE api jar 加载到数据库中。

但是现在我对 JavaEE Jar 在 Oracle Java 存储过程中的作用有疑问。根据我的阅读,这些 jar 只包含接口,没有实现

  1. JavaEE jar 在 Oracle Java 存储过程中扮演什么角色?
  2. 如果它没有实现细节,它在运行时从哪里得到它?
  3. 我已经不用这些jar就可以写出简单的Java存储过程了,那么什么情况下需要用到这个jar呢?
4

1 回答 1

0
  1. 它包含 EJB、JMS、资源管理器、JDBC (javax.sql)、事务等服务的接口。这是为了确保使用这些接口的应用程序可以安装在不同的应用程序服务器中。由应用程序服务器提供者来编写实现,但在客户端应用程序中并不直接需要这些实现。

  2. 例如,要获得连接,您需要使用命名服务查找工厂。查找的结果必须转换接口(因为命名服务返回s)。结果,您处理接口,但当然在后台有一个特定于供应商的类来实现它。Object

  3. 如果您从 JDBC 客户端调用 Java 存储过程,那么数据库也可以被视为应用服务器。因此理论上,您在 Java 应用程序服务器中所做的任何事情也可以在存储过程中完成:它是 JMS,可能还有事务服务,或对其他 EJB 服务器的调用。但这不是常见的做法,我不知道有任何限制。

于 2013-06-16T07:14:45.043 回答