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.
Badges are a great way to show off community activity, whether you’re a newbie or a Champion.Learn more
Trello is one of the most effective tools for driving your sprints. It's customizable for every Agile team and product owners and Scrum masters (SM) love it. However, Agile teams often struggle with:...
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