标题几乎说明了一切,但这里有一些背景知识。
我们有一个在glassfish中配置的数据库,由在glassfish上部署的网站访问,我们也从外部Java应用程序访问数据库,我发现这可能有点低效,因为我们打开了很多与数据库的连接。我们的外部应用。所以我想知道我们是否可以通过glassfish的连接池以某种方式访问他的数据库?
提前致谢。
墩
答案 0 :(得分:0)
只有当您的外部应用程序与glassfish在同一个VM中运行时,才能实现这一点。 “外部”一词说:不,不可能。
请注意,数据库旨在处理大量连接。这是它们存在的主要原因之一:允许多个程序同时处理相同的数据。
答案 1 :(得分:0)
如果您的程序不在glassfish上运行,我认为您无法访问该池。 与数据库的一些连接不应该太重要,至少如果不经常创建和销毁它们。如果是这种情况,您也可以在外部应用程序中构建池。
答案 2 :(得分:0)
你必须尝试这个。
http://javahowto.blogspot.com/2006/08/access-glassfish-datasource-remotely.html建议可以从独立客户端通过JNDI查找连接池。 http://javahowto.blogspot.com/2006/08/access-jboss-datasource-remotely-from.html#client
给出了一个实际的客户端代码示例答案 3 :(得分:0)
我正在回答我自己的问题,这不是一个很好的答案,但它确实满足了我的问题的要求。
您可以做的是从外部Java应用程序连接到EJB,如果bean提供对数据库的访问,那么通过使用它,您将使用glassfish提供的连接池。
您可以找到有关如何执行此操作的信息
此处 - https://glassfish.dev.java.net/javaee5/ejb/EJB_FAQ.html
就效率而言,我不确定这是不是一个好主意,因为它可能会给你的网络应用程序带来过多压力,在我最初的想法中,我想完全绕过webapp并直接与glassfish沟通,任何评论这将是值得赞赏的。
答案 4 :(得分:0)
另一个选择是向Glassfish数据访问对象添加Web服务。
然后,您可以使用SOAP或REST调用访问数据库。