【发布时间】:2012-11-23 22:30:02
【问题描述】:
是否可以通过编程方式将 DataSource 绑定到 Tomcat 的 6 个 JNDI?
我想动态创建一个 DataSource,然后通过 JNDI 使其可用(例如,对 ColdFusion )。
这就是我所拥有的:
public void bindToConext(DataSource dataSource) throws NamingException, SQLException {
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
envContext.bind("jdbc/mydatasource", dataSource);
}
但我遇到了这个异常:
javax.naming.OperationNotSupportedException: Context is read only
有解决办法吗?
【问题讨论】:
-
您可以发布您的
<Resource配置吗? -
@mindas 你好,我现在没有,因为我不会放任何东西(一切都将被动态创建)。我应该创建一个假的吗?
-
我会尝试创建一个占位符,然后修改其中的条目。无论哪种情况,这听起来都是一个好习惯。让我们知道这是否有帮助。
-
最后我们使用了 SimpleJNDI,但我们必须重写
close()方法,因为我丢失了所有信息并且无法真正控制何时调用它。
标签: tomcat coldfusion datasource tomcat6 jndi