【问题标题】:Simple JNDI ContextFactory?简单的 JNDI 上下文工厂?
【发布时间】:2011-10-13 20:53:02
【问题描述】:

我的 WAR 应用程序已部署到 Amazon Elastic Beanstalk。他们不支持 JNDI,但我需要它来进行 JPA 和单元测试。我可以使用什么 JNDI 上下文工厂作为解决方法?我需要一个简单的开源解决方案,它可以让我通过jndi.properties 配置整个工厂。我尝试了 GuiceyFruit,但看起来它不允许在一个文件中配置数据源。有什么建议吗?

ps。 OpenEJB 可以工作,但对于这样一个简单的任务来说,这有点过头了

【问题讨论】:

  • 它看起来非常接近这个问题中概述的解决方案:stackoverflow.com/questions/2521421/…
  • 你能解释一下为什么你需要 JNDI 来进行 JPA 和单元测试吗?
  • www.briskbee.com/2010/07/setting-up-datasource-in-jndi.html

标签: java jndi


【解决方案1】:

试试 Simple-JNDI。它为您提供了 JNDI 服务的内存实现,并允许您使用属性文件中定义的对象填充 JNDI 环境。还支持加载文件中配置的数据源或连接池。

要获得连接池,您必须创建如下文件:

type=javax.sql.DataSource
driver=com.sybase.jdbc3.jdbc.SybDriver
pool=myDataSource
url=jdbc:sybase:Tds:servername:5000
user=user
password=password 

在您的应用程序中,您可以通过以下方式访问池

Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("path/to/your/connectionPool");

您可以在https://github.com/h-thurow/Simple-JNDI 找到更多相关信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多