java – 如何找出执行jndi查找时应该使用的SerialContextProvider?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 如何找出执行jndi查找时应该使用的SerialContextProvider?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2068字,纯文字阅读大概需要3分钟。
内容图文
![java – 如何找出执行jndi查找时应该使用的SerialContextProvider?](/upload/InfoBanner/zyjiaocheng/790/31fb4019f6c04c5bb4503b3d990ff263.jpg)
今天我遇到了这个例外
Caused by: javax.naming.NamingException: Unable to acquire SerialContextProvider for SerialContext [Root exception is java.lang.NullPointerException]
at com.sun.enterprise.naming.impl.SerialContext.getProvider(SerialContext.java:276)
at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:430)
... 23 more
我试图远程访问一个ejb,有问题的代码是
Context c = new InitialContext();
我之前见过这个例外并修复了它但是不记得我是怎么做到的.我知道我必须为初始的上下文URL和服务提供者或某些这样的东西设置一些环境变量.
事实上,我上次找到了用来解决这个问题的代码,如下所示.
Hashtable<String, String> env = new Hashtable<String, String>();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.enterprise.naming.SerialInitContextFactory");
env.put(Context.PROVIDER_URL, "localhost:1099");
Context c = new InitialContext(env);
我的问题是你怎么能找出使用什么初始上下文工厂?我为我们在glassfish v3上运行的数据库编写了一个ejb模块,我没有得到任何暗示当然我应该使用com.sun.enterprise.naming.SerialInitContextFactory,我的意思是它如此明显.谁制作这些上下文工厂?谁决定我要使用哪一个?为什么?为什么没有列表显示出于不同目的需要哪一个?似乎有人不顾一切地制作了一种最难以理解和神秘的方法来访问人类可能的资源.或者我在这里完全误解了一些东西,或者缺乏大量的知识.
我非常感谢对这个问题的一些启示.
谢谢你们.
解决方法:
jndi.properties的glassfish设置供参考:
java.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory
java.naming.factory.url.pkgs=com.sun.enterprise.naming
java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl
Context.SECURITY_PRINCIPAL=user1
Context.SECURITY_CREDENTIALS=pass123
org.omg.CORBA.ORBInitialHost=localhost
org.omg.CORBA.ORBInitialPort=3700
1.)在调用默认的InitialContext构造函数时加载jndi.properties文件.在我看来,最好是对这些值进行硬编码,创建一个Properties对象等.
2.)这些连接参数适用于我在本地运行的Glassfish.我从各种渠道拼凑了这些.
3.)我同意这个问题的精神:精细手册中的哪些是指定的?我在手册中看到过一些提及它们,但它们并非都在一个地方 – 至少对于玻璃鱼而言. 4.x glassfish手册仅可通过PDF获取,这无济于事.
内容总结
以上是互联网集市为您收集整理的java – 如何找出执行jndi查找时应该使用的SerialContextProvider?全部内容,希望文章能够帮你解决java – 如何找出执行jndi查找时应该使用的SerialContextProvider?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。