Hi,
My goal is simple: within a Confluence servlet plugin, create a SQL connection to different database than Confluence uses and retrieve / store some data. Should be easy but after weeks it has become very frustrating and we're on the verge of dropping Confluence integration at all and just build a dedicated web application.
We took the following approaches:
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/DocControlDB");
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM DATABASE.dbo.TABLE");
etcetcetc
Quite some topics can be found covering the ClassNotFoundException related to IntialContext. The one that seemed to work was listed here:
ClassLoader origCL = Thread.currentThread().getContextClassLoader();
try {
Thread.currentThread().setContextClassLoader(ComponentManager.class.getClassLoader());
//::TODO:: do lookup here
} finally {
Thread.currentThread().setContextClassLoader(origCL);
}
The ComponentManager does not exist anymore. I tried with ContainerManager but doesn't work either.
I found quite some reference material using google, but most of the comments are of the 2012-2014 era, and solutions posted there do not work anymore.
If somebody could create a simple example on how to include SQL connectivity, preferrably using JNDI, that would be awesome :-)
Been struggling to get JNDI connection for a while...
You are on the right way. I managed to get a sysdate from dual.
My current working draft is quite dirty, so I won't be posting it here for now.
BUT what you need to do to use ContainerManager is:
import com.atlassian.spring.container.ContainerManager
try {
Thread.currentThread().setContextClassLoader(ContainerManager.class.getClassLoader());
}
But PocketQuery plugin works somehow..
Solution must exist.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.