Thanks Joakim,

I stumbled across another article on the net that helped me out regarding this 
as well.   I’ll post it for reference for anyone else trying to do the same 
thing.
http://penguindreams.org/blog/running-beans-that-use-application-server-datasources-locally/
 
<http://penguindreams.org/blog/running-beans-that-use-application-server-datasources-locally/>

Chris


> On Dec 21, 2017, at 2:43 PM, Joakim Erdfelt <[email protected]> wrote:
> 
> The jetty-jndi test cases might prove useful for you.
> 
> https://github.com/eclipse/jetty.project/blob/jetty-9.4.x/jetty-jndi/src/test/java/org/eclipse/jetty/jndi/factories/TestMailSessionReference.java
>  
> <https://github.com/eclipse/jetty.project/blob/jetty-9.4.x/jetty-jndi/src/test/java/org/eclipse/jetty/jndi/factories/TestMailSessionReference.java>
> https://github.com/eclipse/jetty.project/blob/jetty-9.4.x/jetty-jndi/src/test/java/org/eclipse/jetty/jndi/java/TestLocalJNDI.java
>  
> <https://github.com/eclipse/jetty.project/blob/jetty-9.4.x/jetty-jndi/src/test/java/org/eclipse/jetty/jndi/java/TestLocalJNDI.java>
> https://github.com/eclipse/jetty.project/blob/jetty-9.4.x/jetty-jndi/src/test/java/org/eclipse/jetty/jndi/java/TestJNDI.java#L201-L215
>  
> <https://github.com/eclipse/jetty.project/blob/jetty-9.4.x/jetty-jndi/src/test/java/org/eclipse/jetty/jndi/java/TestJNDI.java#L201-L215>
> 
> 
> Joakim Erdfelt / [email protected] <mailto:[email protected]>
> On Thu, Dec 21, 2017 at 11:25 AM, Christopher Gokey <[email protected] 
> <mailto:[email protected]>> wrote:
> I’m working on a unit test which talks to MySQL. I’m trying to bind/lookup a 
> datasource via JNDI and the code
>  below works with Tomcat, note it makes reference to 
> org.apache.naming.java.javaURLContextFactory, which is
> a tomcat class.  I’m able to bind the datasource without issues.
> 
>  How can I do this with Jetty factory class so I don’t have to have any 
> tomcat dependencies, I’ve switched everything
> over to Jetty but this.
> 
> I tried using “org.eclipse.jetty.jndi.java.javaURLContextFactory" thinking it 
> might be similar for the INITIAL_CONTEXT_FACTORY,
> but I get a:
> Cannot instantiate class: org.eclipse.jetty.jndi.java.javaURLContextFactory
> So It doesn’t appear quite as simple as swapping one out for the other.
> 
> Any help here would be greatly appreciated.
> Thanks,
> Chris
> 
> 
> package test
> 
> import org.apache.commons.dbcp.BasicDataSource;
> import java.sql.Connection;
> import javax.naming.Context;
> import javax.naming.InitialContext;
> import org.apache.commons.dbcp.BasicDataSource;
> import java.sql.Connection;
> import javax.naming.Context;
> import javax.naming.InitialContext;
> 
> 
> public class DataStoreSetup {
> 
>     public static void main(String argv[]) {
>         DataStoreSetup.bindDataStore();
>     }
>     public static void bindDataStore() {
>         // setup the jndi context and the datasource
>         try {
>             // Create initial context
>             System.setProperty(Context.INITIAL_CONTEXT_FACTORY,
>                     "org.eclipse.jetty.jndi.java.javaURLContextFactory");
>             System.setProperty(Context.URL_PKG_PREFIXES,
>                     "org.apache.naming");
> 
>             InitialContext ic = new InitialContext();
> 
>             try {
>                 ic.lookup("java:comp/env/jdbc/myDB");
>             } catch (javax.naming.NameNotFoundException e) {
>                 ic.createSubcontext("java:");
>                 ic.createSubcontext("java:comp");
>                 ic.createSubcontext("java:comp/env");
>                 ic.createSubcontext("java:comp/env/jdbc");
> 
>                 String driverClassName = 
> System.getenv("JDBC_DRIVER_CLASSNAME");
>                 String jdbcUrl = System.getenv("JDBC_URL");
>                 String jdbcUserName = System.getenv("JDBC_USERNAME");
>                 String jdbcPassword = System.getenv("JDBC_PASSWORD");
>                 BasicDataSource bds = new BasicDataSource();
>                 bds.setDriverClassName(driveClassName);
>                 bds.setUrl(jdbcUrl);
>                 bds.setUsername(jdbcUserName);
>                 bds.setPassword(jdbcPassword);
>                 Connection conn = bds.getConnection();
>                 System.out.println("Connection = "+conn);
>                 ic.bind("java:comp/env/jdbc/myDB", bds);
>             }
>         } catch (Exception ex)
>         {
>             System.err.println(ex.getMessage());
>         }
>     }
> }
> 
> 
> 
> 
> -- 
>  
> 
> _______________________________________________
> jetty-users mailing list
> [email protected] <mailto:[email protected]>
> To change your delivery options, retrieve your password, or unsubscribe from 
> this list, visit
> https://dev.eclipse.org/mailman/listinfo/jetty-users 
> <https://dev.eclipse.org/mailman/listinfo/jetty-users>
> 
> _______________________________________________
> jetty-users mailing list
> [email protected]
> To change your delivery options, retrieve your password, or unsubscribe from 
> this list, visit
> https://dev.eclipse.org/mailman/listinfo/jetty-users

_______________________________________________
jetty-users mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-users

Reply via email to