问题标签 [initial-context]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 关闭 InitialContext
我有一个类使用另一个EJBHelper
类中的方法,该类调用该方法getInitialContext
来初始化InitialContext
.
现在,问题是我需要InitialContext
在 EJB 进程结束后关闭。请帮忙; 我怎样才能做到这一点?
java - 以编程方式为 Spring 创建 JNDI 数据源
我有一个现有的基于 Spring Web 的应用程序,它具有使用 JNDI 定义的数据源,并且我正在尝试创建一个独立的应用程序来使用 bean。如何在独立应用程序中以编程方式创建 JNDI 条目和数据库属性?
编辑:
我尝试了类似的方法,但现在出现错误“javax.naming.NoInitialContextException:需要在环境或系统属性中指定类名”
ejb - InitialContext.lookup(ejbMappedName) 返回一个新实例或一个旧的相同实例
对于有状态的 EJB,如果我使用 InitialContext.lookup(itsMappedName) 获取它的引用,对于 (InitialContext.lookup(itsMappedName)) 的每次调用,它将返回一个新的有状态 EJB 还是相同的有状态 EJB?
osgi - OSGI 中的 JNDI 与 Apache Aries
我是 OSGi 和 JNDI 的新手。我正在尝试使用 HornetQ 打包一个 JMS 客户端。为此,我使用 JNDI。据我所知,我需要使用 Apache Aries 来做到这一点。
感谢 iPOJO,我得到了 JNDIContextManager,这似乎运作良好。必须有一个 Apache Aries 捆绑包来注册它,这样我才能得到它。由于 JNDIContextManager.newInitialcontest,当我尝试获取新的 InitialContext 时,问题就出现了。
所以,这是我的代码:
我明白了:
我花了很多时间,我无法解决问题。任何帮助,将不胜感激。
提前致谢 ;)
java - 如何从 Storm jar 中加载 jndi 绑定?
我们有一个项目要使用 Storm,因此我们的代码必须打包在一个 jar 中。我们之前使用com.sun.jndi.fscontext.RefFSContextFactory
作为我们的InitialContextFactory
实现jndicontext
从系统配置目录中的文件加载绑定classpath
(工作正常)。然而,当尝试使用这个工厂从 jar 中加载上下文时,我们得到以下信息:
这是由于工厂试图从以下 URL 加载 jdni 上下文:
“jar:file:/mount/storm-dir/data/storm.jar!/jndicontext”
这是一个有效的 URL,但工厂不知道如何打开一个 jar。有没有实现javax.naming.spi.InitialContextFactory
呢?或者有没有办法解决这个问题并将配置目录添加到 Storm 的classpath
?
java - 查找 MailResource 与模块名称结合时的 Glassfish 无限循环
Glassfish 在查找邮件资源时会陷入无限循环。仅当在 ejb.jar.xml 中定义自定义 <module-name> 时才会出现该错误。
例外:
在 javax.naming.InitialContext.lookup(InitialContext.java:392) 在 com.sun.enterprise.naming.util.JndiNamingObjectFactory.create(JndiNamingObjectFactory.java:90) 在 com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup (GlassfishNamingManagerImpl.java:776) 在 com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:744) 在 com.sun.enterprise.naming.impl.JavaURLContext.lookup(JavaURLContext.java:180) 在com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:498) 在 com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455) 在 javax.naming.InitialContext.lookup( InitialContext.java:392) 在 com.sun.enterprise.naming.util.JndiNamingObjectFactory 的 javax.naming.InitialContext.lookup(InitialContext.java:392)。在 com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:744) 的 com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:776) 处创建 (JndiNamingObjectFactory.java:90)在 com.sun.enterprise.naming.impl.JavaURLContext.lookup(JavaURLContext.java:180) 在 com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:498) 在 com.sun.enterprise.naming .impl.SerialContext.lookup(SerialContext.java:455) 在 javax.naming.InitialContext.lookup(InitialContext.java:392) 在 javax.naming.InitialContext.lookup(InitialContext.java:392) 在 com.sun.enterprise。命名.util.JndiNamingObjectFactory.create(JndiNamingObjectFactory.java:90)776)在 com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:744) 在 com.sun.enterprise.naming.impl.JavaURLContext.lookup(JavaURLContext.java:180) 在 com.sun.enterprise .naming.impl.SerialContext.lookup(SerialContext.java:498) at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455) at javax.naming.InitialContext.lookup(InitialContext.java:392 ) 在 javax.naming.InitialContext.lookup(InitialContext.java:392) 在 com.sun.enterprise.naming.util.JndiNamingObjectFactory.create(JndiNamingObjectFactory.java:90)776)在 com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:744) 在 com.sun.enterprise.naming.impl.JavaURLContext.lookup(JavaURLContext.java:180) 在 com.sun.enterprise .naming.impl.SerialContext.lookup(SerialContext.java:498) at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455) at javax.naming.InitialContext.lookup(InitialContext.java:392 ) 在 javax.naming.InitialContext.lookup(InitialContext.java:392) 在 com.sun.enterprise.naming.util.JndiNamingObjectFactory.create(JndiNamingObjectFactory.java:90)在 com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455) 中查找(SerialContext.java:498) 在 javax.naming.InitialContext.lookup(InitialContext.java:392) 在 javax.naming.InitialContext .lookup(InitialContext.java:392) 在 com.sun.enterprise.naming.util.JndiNamingObjectFactory.create(JndiNamingObjectFactory.java:90)在 com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455) 中查找(SerialContext.java:498) 在 javax.naming.InitialContext.lookup(InitialContext.java:392) 在 javax.naming.InitialContext .lookup(InitialContext.java:392) 在 com.sun.enterprise.naming.util.JndiNamingObjectFactory.create(JndiNamingObjectFactory.java:90)
这是我的配置:
glassfish-resources.xml
EMailService.java 中的注入
ejb.jar.xml
当然,上面提到的所有文件都驻留在同一个模块 => 后端。
使用 JNDI-Internals 的详细日志记录,我可以将问题深入到以下点:
工作场景(无模块名称):没有特殊模块名称时,模块名称将是带有我们文件扩展名的文件名,例如 backend-1.1.1-SNAPSHOT。这将导致以下查找场景,最终重新使用 MailResource:
.SerialContext;MethodName=lookup;|SerialContext ==> 查找(java:module/mail/MailSession)|#] .SerialContext;MethodName=lookup;|SerialContext ==> 查找相对名称:java:module/mail/MailSession|# ] .JavaURLContext;MethodName=lookup;|在 javaURLContext.lookup 中,name = java:module/mail/MailSession serialcontext...null|#] .SerialContext;MethodName=lookup;|SerialContext ==>lookup(java:global/portal -1.1.1/backend-1.1.1-SNAPSHOT/mail/MailSession)|#] .SerialContext;MethodName=lookup;|SerialContext ==> 查找相对名称:java:global/portal-1.1.1/backend-1.1。 1-SNAPSHOT/mail/MailSession|#] .SerialContextProviderImpl;MethodName=lookup;| SerialContextProviderImpl :: 查找 java:global/portal-1.1.1/backend-1.1.1-SNAPSHOT/mail/MailSession|#] .GlassfishNamingManagerImpl;MethodName=lookup;|GlassfishNamingManager..null|#] 中的串行上下文。
错误场景(自定义模块名称):添加自定义模块名称(如上面提到的 ejb.jar.xml 中所示)将因查找无限循环而失败。
相关的查找日志如下所示:
MethodName=lookup;|SerialContext ==> 查找相对名称:java:global/private-ear-1.2.0-SNAPSHOT/backend/mail/MailSession|#] FINE|glassfish3.1.1|com.sun.enterprise.naming|_ThreadID =23;_ThreadName=Thread-2;ClassName=com.sun.enterprise.naming.impl.SerialContextProviderImpl;MethodName=lookup;| SerialContextProviderImpl :: 查找 java:global/private-ear-1.2.0-SNAPSHOT/backend/mail/MailSession|#] FINE|glassfish3.1.1|com.sun.enterprise.naming|_ThreadID=23;_ThreadName=Thread-2; ClassName=com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl;MethodName=lookup;|GlassfishNamingManager..null|#] FINE|glassfish3.1.1|com.sun.enterprise.naming|_ThreadID=23;_ThreadName=Thread- 2;ClassName=com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl;MethodName=lookup;|GlassfishNamingManager : 查找名称 : java: MethodName=lookup;|SerialContext ==>lookup(java:global/private-ear-1.2.0-SNAPSHOT/backend/mail/MailSession)|#] FINE|glassfish3.1.1|com.sun.enterprise.naming|_ThreadID= 23;_ThreadName=Thread-2;ClassName=com.sun.enterprise.naming.impl.SerialContext;MethodName=lookup;|SerialContext ==> 查找相对名称:java:global/private-ear-1.2.0-SNAPSHOT/backend /mail/MailSession|#] FINE|glassfish3.1.1|com.sun.enterprise.naming|_ThreadID=23;_ThreadName=Thread-2;ClassName=com.sun.enterprise.naming.impl.SerialContextProviderImpl;MethodName=lookup;| SerialContextProviderImpl :: 查找 java:global/private-ear-1.2.0-SNAPSHOT/backend/mail/MailSession|#] FINE|glassfish3.1.1|com.sun.enterprise.naming|_ThreadID=23;_ThreadName=Thread-2; ClassName=com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl;MethodName=lookup;|GlassfishNamingManager 中的串行上下文..
从 asadmin 手动检查 glassfish 资源会获取以下条目:
如果那里有专家,请给我一个提示。
java - How to get Queue using context.lookup() in oracle 11g
I want to create Queue and the MessageDrivenBean in Oracle 11g.
I created the JMS Module on Weblogic and into it I created Queue and ConnectionFactory.
JDBC names looks like:
Queue: jms/EvZahQueue
ConnectionFactory: jms/ConnectionFactory
I tried to get them with:
But, I've got an exception like this:
Also, I tried with:
And I tried to create default properties and to put them into new InitialContext()
but nothing changed.
What should I do? Maybe I need to write something in web.xml
, ejb-jar.xml
, weblogic-ejb-jar.xml
?
java - 无法从与另一个主题同名的 InitialContext 队列中查找
这行代码产生异常
背景资料:
我尝试过使用另一个队列名称,它工作正常。
这个“样本”队列的问题是有另一个同名的主题
有没有办法解决这个问题?
jboss7.x - 无法在 JBoss AS 7.1 中初始化 InitialContext
我无法初始化InitialContext
和查找字符串。这是我的代码片段:
总是ic
为空,我得到 Exception NullPointer Exception
。谁能告诉我我做错了什么或任何配置?任何建议/意见都是可以接受的。
编辑:1
java - 使用 InitialContext 进行 EJB 查找
我在查找托管在服务器上的 EJB 时遇到问题。服务器本身是一个SAP环境,基本上就是一个修改过的tomcat。
我尝试了几个查找字符串
和
但没有任何效果。
这是服务器对查找字符串所说的:
对于远程部分:
我尝试了这个查找字符串的不同组合,但都失败了。我可以使用以下方法将代理对象获取到 Bean:
但是我需要直接访问bean。
以下是 Bean 的定义方式:
本地接口:
远程接口:
BPMFacadeBean简化接口:
在这种情况下,正确的查找字符串是什么?
谢谢您的帮助!