java – 简单的方法来启动一个独立的JNDI服务器(并注册一些资源)

为了测试的目的,我正在寻找一种简单的方法来启动独立的JNDI服务器,并将我的 javax.sql.DataSource以编程方式绑定到“java:/ comp / env / jdbc / mydatasource”.

服务器应该绑定到一些URL,例如:“java.naming.provider.url = jnp:// localhost:1099”(不必是JNP),以便我可以从另一个进程查找我的数据源.我不在乎我必须使用哪个JNDI服务器实现(但是我不想启动一个完整的JavaEE服务器).

这应该很容易,但令我惊讶的是,我找不到任何(工作)教程.

解决方法

JDK包含一个 JNDI provider for the RMI registry.这意味着您可以使用RMI注册表作为JNDI服务器.所以,刚刚开始 rmiregistry,将 java.naming.factory.initial设置为 com.sun.jndi.rmi.registry.RegistryContextFactory,你就走了.

RMI注册表有一个扁平的命名空间,所以你将无法绑定到java:/ comp / env / jdbc / mydatasource,但是你可以绑定一些东西,以便它接受java:/ comp / env / jdbc / mydatasource,但会将其视为单组件名称(谢谢,@EJP).

我已经写了一个小应用程序来演示如何做到这一点:https://bitbucket.org/twic/jndiserver/src

我仍然不知道JNP服务器应该如何工作.

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...