Xpages和OrientDB-如何正确处理连接对象?

Xpages和OrientDB-如何正确处理连接对象?,xpages,Xpages,我们想让OrientDB()参与我们的一个Xpages项目。它非常适合我们使用OrientDB的DocumentDatabase部分 这里我们发现了一个如何处理连接对象的问题。我们希望对整个应用程序使用一些共享连接,而不是在每次请求时手动连接和断开连接。文档在这里讨论了它,但是它的servlet过滤器不适合Domino。是否有人能正确使用Domino和Xpages解决方案?您需要编写一个自定义数据源,并在此数据源中处理连接池 看这个演示 或者检查它在扩展库源中是如何完成的 一篇关于使用java

我们想让OrientDB()参与我们的一个Xpages项目。它非常适合我们使用OrientDB的DocumentDatabase部分


这里我们发现了一个如何处理连接对象的问题。我们希望对整个应用程序使用一些共享连接,而不是在每次请求时手动连接和断开连接。文档在这里讨论了它,但是它的servlet过滤器不适合Domino。是否有人能正确使用Domino和Xpages解决方案?

您需要编写一个自定义数据源,并在此数据源中处理连接池 看这个演示

或者检查它在扩展库源中是如何完成的

一篇关于使用java连接jdbc的文章

您应该能够做的一件事是在应用程序中使用ApplicationListener,它允许您在应用程序启动时创建对象,并在应用程序内存不足时将其关闭。

嗯:-(但通常我会尽量避免这些事情。这是一个几乎没有文档、支持或任何东西的世界。我用openNTF的XSP初学者工具包进行了3个月的实验,但没有成功。我的同事也没有成功地遵循XSP初学者工具包的文档。到处都没有支持。我们试图创建我们自己的更新站点对于扩展库也没有什么好运气。除了一些类似hello world的教程之外,没有真正的文档。您需要小心选择什么方法。JDBC是这里明显的诱惑。但是它很可能会剥夺您的OrientDB功能(如图形查询)或者让它们更复杂。这可能会有所帮助:我没有OrientDB方面的经验,但似乎有一个JDBC驱动程序可用。在这种情况下,ExtLib提供了现成的连接池。如果出于某种原因需要实现自己的池,逻辑并没有那么难(一个bean可能值得一试)。正如@Fredrik Norling所说,ExtLib源代码是一个很好的起点(例如com\ibm\xsp\ExtLib\jdbc\datasource\xpages\JdbcPoolConnection.java).Btw,我同意缺乏文档。但是,请不要犹豫,询问更多的问题,我们肯定需要更多的XPages+JDBC问题和答案!应用程序侦听器包含“applicationDestroyed”和“applicationRefreshed”方法,但不幸的是,这两种方法都在刷新后和应用程序销毁后运行……这意味着,如果您使用“appli”cationCreated’event store connection,例如在应用程序范围bean中,您不能关闭对‘ApplicationStore’的连接,因为此事件是在整个Xpages环境被破坏后运行的,因此应用程序托管bean不存在。它不必使用托管bean,您可以使用应用程序范围的单例来保存对象。