【问题标题】:Embedded Jetty 8 and configuration of JNDI MySQL connection pool with no XML嵌入式 Jetty 8 和无 XML 的 JNDI MySQL 连接池配置
【发布时间】:2013-07-22 07:37:28
【问题描述】:

我已经搜索了很长时间,但我找不到任何好的教程或这个问题的答案。

在这个项目中,只有一个 XML 文件 pom.xml,服务器是一个嵌入式 Jetty 8,带有一个以编程方式定义的 ServletContextHandler 来处理所有传入的请求。我的观点是,没有 WebAppContext 或 WAR 文件(似乎所有教程都需要 WEB-INF、WebAppContext、web.xml、jetty-env.xml 或 WAR 文件)。

我只想添加一个 JNDI 数据源,以便在 Java 中以编程方式汇集 sql 连接。有没有人可以为我指出一个好的教程,或者提供一些关于如何实现这一点的提示?

【问题讨论】:

    标签: java maven jndi connection-pooling embedded-jetty


    【解决方案1】:

    您选择了一个 embedded-jetty 及其特殊的 ServletContextHandler,但没有完整的 Web 容器(这并不是批评,只是您到目前为止所遵循的路径)。

    如果这也是您的目标环境,为什么还需要 JNDI?必须提供 JNDI 实现。我只会添加一个连接池,如 BoneCP、C3PO 等,并在没有 JNDI 的情况下使用它。

    另一方面,如果您的目标环境要求您使用连接池,您始终可以在两个提供程序之上添加自己的方法:

    伪代码:

    public class MyConnectionFactory
    
    // To be replaced with a property lookup etc.
    private boolean development = true;
    
    public Connection getConnection(String jndiName)
      if (development)
        // get connection from BoneCP etc. (ignore jndiName)
      else {
        // lookup data source using JNDI, then get connection
    

    然后在您的源代码中始终使用此方法。

    【讨论】:

      猜你喜欢
      • 2012-02-11
      • 2015-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-09
      • 1970-01-01
      • 1970-01-01
      • 2012-08-03
      相关资源
      最近更新 更多