Soapui 如何连接oracle,因为我去一些变量到数据库中取
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Soapui 如何连接oracle,因为我去一些变量到数据库中取相关的知识,希望对你有一定的参考价值。
参考技术A 添加链接oracle的jar包,然后在soapUI中写groovy脚本去对数据库进行操作。可以参考这个链接http://blog.csdn.net/shuaihonggao/article/details/5863701 参考技术B 你好,建议你百度看看有没其他的教程讲到这个环节了。还有SOAPUI可以跟其他软件集成的,可是嵌入到其他IDE中,考虑看一下用其他的IDE软件来完成这个步骤。
tomcat:如何打开 jdbc:oracle 连接的堆栈跟踪?
【中文标题】tomcat:如何打开 jdbc:oracle 连接的堆栈跟踪?【英文标题】:tomcat : How to get opened jdbc:oracle connection's stack trace? 【发布时间】:2013-01-16 10:31:57 【问题描述】:让 Web 应用程序跨多个位置运行, 通过在 linux 上运行这个命令,我可以看到很多连接堆积:
ps -ef|grep LOCAL
向我显示带有进程 ID 的活动 oracle 连接数,连接数每小时增加 5-7 个。几个小时后,应用程序变慢,最终需要重新启动 tomcat 服务器。
因为,我能够看到连接在增长,有没有办法获得这些连接的来源,找出哪些类或对象创建了这些铺设的连接?
而且我没有使用 Tomcat 连接池,我尝试通过发出 kill -3 tomcat pid 来生成线程转储,但对我没有用,因为我无法理解它们,甚至尝试过线程分析器。
是否有任何简单的方法可以使用某些 tomcat 功能或任何其他方式来获取与这些铺设的连接相关联的发起者类以获得一个小提示?
【问题讨论】:
【参考方案1】:在JProfiler 中,您可以使用 JDBC 探测来获取打开连接的堆栈跟踪。您将在时间轴中选择连接
并跳转到事件视图
您可以在其中选择“连接打开”事件。在下部窗格中,显示了相关的堆栈跟踪。
免责声明:我公司开发JProfiler
【讨论】:
有用,但如果能显示源代码行号会更好。此外,我在尝试设置 JProfiler 以连接到远程实例时遇到了问题。覆盖JAVA_VM
和/或JAVA_VENDOR
环境变量(更可能是JAVA_VM
)似乎会导致问题。同样,如果 JProfiler 失去远程连接,它可能无法连接到远程会话,直到重新启动。但是在解决了这些问题之后,我终于能够看到连接打开的堆栈跟踪。我希望有一个多重过滤器来显示连接打开和连接关闭事件。
在分析设置中,在“方法调用记录”选项卡上启用“记录行号”,然后您将在堆栈跟踪中看到行号。至于多重过滤器,我已将其添加到我们的问题跟踪器中。
该工具经常长时间显示“正在连接”。很高兴看到连接过程的详细输出(在可展开的详细信息窗格中),因此我可以确定连接过程卡在哪个阶段。
一般情况下,如果该信息显示时间过长,则表示无法建立套接字连接。在您的案例中,您真的获得了成功的连接吗?
是的,我获得了成功的连接,但并非总是如此。现在我什至无法从 JProfiler 获得任何与 JVM 的连接(即使在 JProfiler 重新启动之后)。我使用Portqry 来检查端口确实是LISTENING
。看来我需要重新启动 WebLogic 服务器才能让 JProfiler 再次工作。也许服务器端的 JProfiler 库挂了?我稍后再试。【参考方案2】:
您可以使用 IDE 搜索 javax.sql.DataSource.getConnection()
的用途。
如果您在调试模式下启动 tomcat,您可以查找连接类的实例(并看到它们增加)。此外,在构造函数上放置断点会在创建过程中捕获它们。
但实际上您应该使用连接池。这是解决问题的最简单方法。
【讨论】:
对于拥有 3000 个源文件且由许多不同的人共同开发的怪物遗留项目不是很有用。有时您只想跟踪打开连接的内容、位置和方式而不必通过 IDE 中庞大的调用层次结构(顺便说一句,这甚至不适用于 JSP)。【参考方案3】:也许这两个工具可以帮助您确定是什么降低了您的服务器应用程序的性能。
jmeter
ab benchmarking tool
由于一些简单的实施问题,性能也可能会变慢。您可能希望在 Web 应用程序中使用 NIO(面向缓冲区、非阻塞 IO)而不是 IO,而且您可能正在执行大量字符串连接(使用 StringBuffer)。
【讨论】:
连接池不是连接数据库的推荐方法吗? @artbristol:感谢您的解决方案。实际上,代码在生产服务器上,通过放置断点在本地运行应用程序并没有帮助,因为这种情况只有在应用程序从各个站点加载时才会出现。在生产服务器上以调试模式运行 tomcat 是否有助于找到连接的根本原因? @AshishKataria 不要在调试模式下运行生产服务器!! (除非没有人使用它)。您需要使用此答案中建议的工具之一来模拟本地运行实例的负载。 @TemporaryNickName:谢谢..我会看看这些工具.. 是的,做了很多字符串连接,如何克服它? @artbristol 好的,但正如你所说..如果使用连接池,还需要分析吗?以上是关于Soapui 如何连接oracle,因为我去一些变量到数据库中取的主要内容,如果未能解决你的问题,请参考以下文章
如何在 SoapUI 中测试使用 JWT 的 REST 服务?
tomcat:如何打开 jdbc:oracle 连接的堆栈跟踪?