简单的JNDI ContextFactory?

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

PS。 OpenEJB可以工作,但这对于这么简单的任务来说太过分了

试试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找到更多相关信息。