I get the following exception: Name java:comp is not bound in this Context while trying to get the JNDI context from a plugin:
InitialContext ic = new InitialContext(); Context env = (Context) ic.lookup("java:comp/env");
This is very confusing...
According to the AMPS-737 issue jndi is supported for datasources since the AMPS 4.1 version:
I'm using AMPS:
Following the AMPS-737, there is an Atlassian's example on Bitbucket to configure a datasource from a plugin:
As expected, the jndi string is:
<jndi-datasource> <jndi-name>java:comp/env/jdbc/JiraDS</jndi-name> </jndi-datasource>
It means the name java:com/env is already binded.
However, fron a plugin, the javaURLContextFactory class must be added as a dependency (it is not exported by the JIRA system plugin):
<dependency> <groupId>directory-naming</groupId> <artifactId>naming-java</artifactId> <version>0.8</version> </dependency>
in order to use the InitialContext class.
As the factory is provided by the plugin rather by the application contanier (Tomcat/Catalina), it might not be properly initialized as accordingly to the Apache's documentation, it requires some environment configuration:
This factory MUST be associated with the "java" URL prefix, which can be done by setting an environment variable named Context.URL_PKG_PREFIXES with its value including the org.apache.catalina.util.naming package name.
It is not the case. By debugging I saw that is properly itinialized and the InitialContext properties are:
But when I'm try to get the java.com/env context (which is the same used by the JNDI datasources supported from the 4.1 version!), it is not bound:
Context env = (Context) ic.lookup(
How is it possible?
Hi zezeto, thanks for the link. I read all those links some days ago but I was unable to find any solution there as I do not want use JNDI to get datasources. I want to use JNDI to bind a string (object) in order to configure some 3rd party code expecting be configured through JNDI. Thanks.
Atlassian Summit is an excellent opportunity for in-person support, training, and networking.Learn more
One of the newest products in the Microsoft family - Microsoft Teams, is a chat-based hub for teamwork that integrates all the people, content, and tools your team needs to be more engaged and ...
Connect with like-minded Atlassian users at free events near you!Find a group
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no AUG chapters near you at the moment.Start an AUG