如何从外部Java应用程序连接到glassfish中配置的数据库?

时间:2010-07-20 08:16:28

标签: java database glassfish connection-pooling external

标题几乎说明了一切,但这里有一些背景知识。

我们有一个在glassfish中配置的数据库,由在glassfish上部署的网站访问,我们也从外部Java应用程序访问数据库,我发现这可能有点低效,因为我们打开了很多与数据库的连接。我们的外部应用。所以我想知道我们是否可以通过glassfish的连接池以某种方式访问​​他的数据库?

提前致谢。

5 个答案:

答案 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调用访问数据库。