看起来,当在其中运行 java 存储过程时,DB2 会为每个连接创建新进程(例如,在某些表更新事件上从触发器调用的过程)。问题是:是否有任何方法可以在单个进程中运行所有 java 存储过程,以便我们可以在它们之间共享静态值?
问问题
425 次
2 回答
1
不幸的是,我不得不对我自己的问题给出否定的答案。根据这篇论文:Java 例程中的静态和非最终变量正是我想做的事情是不可能的。
于 2012-12-17T09:08:04.480 回答
1
DB2 将强制执行存储过程的多进程模型。
我建议您将数据发送到消息队列,并让监听该队列的应用程序处理数据并进行日志记录。看看例如RabbitMQ、Apache ActiveMQ或ZeroMQ。
这可能很容易实现,但通常需要您有一个运行应用程序逻辑的守护程序。除非您将消息队列产品配置为自动生成应用程序逻辑,否则这是正确的 - 这通常可以使用消息队列产品,但需要更多配置。
于 2012-12-14T16:08:45.300 回答