- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我想开发一个 Java EE 网络应用程序,该应用程序需要通过 JPL 使用 Prolog 来完成某些与搜索相关的任务。Web 应用程序将部署在 JBoss 应用程序服务器中。Prolog 引擎可以是 YAP 或 SWI(afaik 目前唯一与 JPL 兼容的 Prolog 引擎)。Prolog 查询取决于存储在(可能很大)数据库中的信息。
如果有人尝试过这个或类似的东西,你能给我反馈以下问题吗?:
提前致谢!
最佳答案
What is the best way to manage concurrent http sessions that need access to the Prolog engine?.
如果我查看 JPL 的源代码,它看起来像是使用引擎池。查询数据类型实现枚举器模式加上 close() 操作。我想只要引擎处于 Activity 状态,它就会自动分配给查询。
因此每个http请求都可以通过新的查询对象独立访问Prolog系统。如果您不想在 http 请求期间关闭查询对象,我想您也可以将其附加到 http session 。并在另一个请求中重用它。
How could be managed the interaction of Prolog with the database ?
这取决于数据库中数据的使用模式和可用的访问路径。可能是您可以在请求期间快速访问非常大的数据库并在每个请求期间重新获取数据。比如需要匹配的数据集比较小,数据库有好的索引,可以快速访问到匹配的数据。
否则您将需要实现一些智能缓存。我目前正在研究一种使用一种 checkin / checkout 模式的解决方案。但这不适用于您有多个用户的 Web 服务器。我将此模式用于一个独立的解决方案,其中有一个用户和一个 check out 内存中的数据垃圾。对于具有不同多个用户的网络服务器,垃圾可能会溢出网络服务器内存。
所以缓存只有在您可以限制和扼杀垃圾或者您拥有非常大的网络服务器内存时才有效。也许您可以为您的应用程序找到这样的不变量。否则结论可能是,无论您是否使用 Prolog,您都不能独立于 Java EE。
关于java - 在 Java EE Web 应用程序中使用 JPL (Java + Prolog),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10207511/
我想了解为什么一些 Jakarta EE 规范是空的。 例如 Jakarta Annotations规范由免责声明和快速描述(3 行)组成,但是有 Javadoc . 当 JCP 负责 J2EE 规范
我们将在我们的开发中使用 WebSphere 8.0 应用服务器。 我们的网络应用程序使用 Amazon aws java sdk,而后者又使用 Apache http-client 4.1。 但是
Java EE Web Profile 认证服务器(如 JOnAS)和 Java EE Full Platform 认证服务器(如 JBoss AS)有什么区别? 最佳答案 这是一张很好的图片来解释它
Java EE 5 和 Java EE 6 的主要区别是什么? 最佳答案 Oracle 有一篇由三部分组成的文章详细介绍了这些更改:Introducing the Java EE 6 Platform
自从我将 web.xml 从 Java-EE-5 迁移到 Java-EE-6 后,我的应用程序出现问题。这是我部署应用程序时得到的堆栈跟踪: 24 août 2011 14:10:45 org.apa
我想让我的 Java EE 应用程序可插入。主应用程序将部署在一个ear 中,但它在EJB 中的代码将包含插件的入口点。插件可以部署在它们自己的 jar 文件中。有什么好的框架可以做到这一点吗?我正在
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
我有一个关于 EE 容器如何控制事务的问题。这是为我的问题提供一些上下文的伪代码。这不是我编码的方式,所以请留在问题上,不要将主题演变成其他内容。 考虑以下两个服务和相关 Controller 。这两
如果在应用程序初始化期间发生异常,是否有任何方法可以防止 Java EE 应用程序启动?在从 JSR-77 抛出未处理的异常之后,我基本上是在寻找一种方法来使应用程序进入“j2ee.state.fai
我们正在开发几个独立的应用程序/模块,我们将它们部署到 Glassfish 3.1.1 应用程序服务器上。在某些情况下,这些应用程序需要通过远程接口(interface)调用彼此的方法。打包这些远程接
我对 Java 有所了解,但对 Enterprise Java 完全陌生。我正在尝试使用 NetBeans 6.1 和 GlassFish Application Server。 请指导我一些资源,这
这个问题在这里已经有了答案: Java / Jakarta EE web development, where do I start and what skills do I need? [close
我有现有的Java EE Web应用程序。我还有一个新的Grails 1.3.7应用程序。 要求是将此Grails应用程序嵌入现有Java EE应用程序中,并将其部署在一个war文件中。请让我知道是否
我熟悉 LAMP 堆栈,多年来已经成功部署了一些基于它的网络站点。我使用过从 Apache + modPerl 到 PHP、Ruby 和 Rails 的一切。通过充分利用缓存,我的 Rails 站点可
这个问题已经有答案了: What exactly is Java EE? (6 个回答) 已关闭 8 年前。 我意识到它的字面意思是Java Enterprise Edition。但我要问的是,这到底
我当前在服务器上有一个 Java EE 应用程序。它使用struts2和Hibernate。我需要访问客户端计算机并搜索客户端计算机检测到的所有蓝牙外设的MAC地址。 那么问题是:如何访问客户端计算机
我们在 StatelessSessionBean 中有一个性能不佳的业务方法。为了提高性能,我们希望将此业务方法拆分为多个异步方法调用。 问题是这些异步方法必须在同一个事务中运行(它们必须使用同一个
希望使用 JSTL 和 Apache Torque 以及某种模板引擎来扩展当前的 Java EE 项目,以便我们可以轻松修改 View 。 有什么建议? 最佳答案 我想 Freemarker是领先的
我有一个在 tomcat 上运行的非常大的 Java EE 应用程序。不幸的是,最近我遇到了堆空间和内存泄漏错误。 所以我想知道是否有一个工具可以帮助我监控我的应用程序并给我一个每个对象的可视化展示,
这个问题在这里已经有了答案: What exactly is Java EE? (6 个答案) 关闭 4 年前。 我知道这个问题已经被问了一百万次,我也做了功课,但最后一件事我不完全理解的是,是否有
我是一名优秀的程序员,十分优秀!