快速业务通道

在Eclipse中开发Apache Derby应用程序 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
referencing OLD as OLD NEW as NEW for each row mode db2sql update books set status = updateQuantity(NEW.id, NEW.title, NEW.author,   OLD.quantity, NEW.quantity) where id = NEW.id;

检查触发器是否有效的一种简便方法是使用以下命令从 ij 工具中更新 book 表:update books set quantity=10 where id=1; 对表的修改将触发函数的调用,从而导致执行 Java 方法。这将更新书的状态,并发送一条消息,这条消息可以通过切换到网络服务器控制台视图来查看。

由于触发器直接存储在数据库中,因此无论如何更新数据,对触发器的调用都将是一致性的。由于这个原因,如果您试图使用客户机应用程序更新数量,那么您将看到,适当的时候就会生成电子邮件消息,不需要对应用程序作任何更改。

下图展示了客户机应用程序的输出,用的是原始数据。注意,这一次书的状态会获得更新,并生成了一条消息:

图 9. Inventory 应用程序的示例输出

图 10. Network Server 的示例输出

在Eclipse中开发Apache Derby应用程序(12)

时间:2011-02-16 IBM Gilles Roux

部署应用程序

至此,您已经有了一个功能完备的数据库和客户机应用程序,但它们仍然只能在 Eclipse 环境中运行,在生产环境中不被接受。因此,还需要执行应用程序的部署。

将 Java 函数存储在数据库中

如前所述,Derby Java 函数或过程是由数据库引擎自身来执行的。因此,数据库引擎必须能够访问 Java 类。在这个例子中,这一点是没有问题的,因为 Derby 网络服务器运行在 Eclipse 项目中,并且使用项目的类路径,该类路径包含了已创建的所有 Java 类。

在一个典型的生产环境中,您不需要更改用于 Derby 网络服务器的类路径。Derby 提供了一些可以解决这个问题的过程:

sqlj.install_jar 过程将一个 JAR 文件安装到数据库中。JAR 文件在安装好之后便无法修改,但是可以使用 sqlj.remove_jar 和 sqlj.replace_jar 来删除或更新 JAR。

derby.database.classpath 属性包含数据库将要使用的附加类路径条目。可以通过使用 syscs_util.syscs_set_database_property 过程更新这个属性,以便更新属性和包含已安装的 JAR。

对于本文中的例子,首先要创建一个 JAR 文件,这个 JAR 文件包含 DerbyFunctions 类。这可以在 Eclipse 中通过右击这个类并选择 Export->JAR file 来完成创建任务。

然后可以使用下列命令(在 ij 中)将 JAR 文件安装到数据库中,并将其添加到类路径中:

清单 12. 将 JAR 文件存储在 Derby 数据库中

CALL sqlj.install_jar(''functions.jar'', ''bookstore.functionsjar'', 0); CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY(   ''derby.database.classpath'', ''bookstore.functionsjar'');

做完这些后,Java 代码便属于数据库,这使得数据库的转移和启动变得很容易。整个数据库目录可以直接转移到一个完全不同的环境中,并且可以正常运行。

网络服务器配置

在开发应用程序时,我们使用了网络服务器配置,这样一来,应用程序的部署就会按正确的方式打包各个组件。

在服务器端,需要安装:

derby.jar,其中包含 Derby 数据库引擎。

derbynet.jar,其中包含网络服务器。

bookstoredb/ 目录,其中包含数据库,还包括带有函数的 JAR 文件。

这些组件可以复制到任何装有 JVM 的机器上,网络服务器可以使用下列命令来启动:

清单 13. 启动 Derby 网络服务器

java -cp derby.jar;derbynet.jar org.apache.derby.drda.NetworkServerControl start 

可以使用下列命令可以停止网络服务器:

清单 14. 停止 Derby 网络服务器

java -cp derby.jar;derbynet.jar org.apache.derby.drda.NetworkServerControl shutdown 

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号