Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jetty-users] Testing with JNDI

Thanks Jan, but I think I wasn't clear on a point in my question.

I can create and bind what I need to JNDI without all the classloader stuff in that test you referenced. What I was hoping for is class similar to WebAppContext that would allow Jetty to handle all of that for me. For instance, if I created Jetty instance with an arbitrary WebAppContext, and also a resource in my server code with something like new Resource(_server, "jndiName", myobject) then I would expect to have access to it within the webapp context without any explicit binding on my part because Jetty handles it. But again, I don't want use WebAppContext because my files won't be organized correctly. I'd rather use something like ServletContextHandler.

I saw that test you referenced before, but I didn't fully understand the ClassLoader stuff. I gather that creating a class loader is somehow creating an isolated java:comp space for working with JNDI contexts? It's good to know, but doesn't seem necessary here. 

Was just hoping to skip creating JNDI contexts in my tests, but I guess I could refactor it all out to a class and hope I never have to look at it again...

 


On Tue, Sep 17, 2013 at 3:21 PM, Jan Bartel <janb@xxxxxxxxxxx> wrote:
Benjamin,

You can have a look at the junit tests for jetty-jndi, specifically
this one: https://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/tree/jetty-jndi/src/test/java/org/eclipse/jetty/jndi/java/TestJNDI.java

As long as you've got a Thread context classloader set, you can call
lookup on java:comp and if it doesn't exist it will create it. You can
then make your own env subcontext.

cheers
Jan

On 18 September 2013 04:05, Benjamin Zuill-Smith <bzuillsmith@xxxxxxxxx> wrote:
> I want to run some JUnit tests that involve a JNDI Resource. This Resource
> is setup with server scope as the server starts in my test. However, I can't
> create a webapp-like context for Jetty to setup the JNDI subcontexts like
> java:comp/env. Is that only done when using a WebappContext? Are there other
> Context classes that can be used for testing to achieve this?
>
> I can't use WebappContext because my war is not created in the testing phase
> and I also would rather not have test web.xml and jetty-xml descriptors,
> etc.
>
> For now, I put into my tests an explicit Resource at the java:comp/env
> context but it I would like to be able to test with code as close to the
> production as possible and avoid painful tests down the road.
>
> Anyone have suggestions?
>
> --
> Benjamin Zuill-Smith
>
> _______________________________________________
> jetty-users mailing list
> jetty-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/jetty-users
>



--
Jan Bartel <janb@xxxxxxxxxxx>
www.webtide.com
'Expert Jetty/CometD developer,production,operations advice'
_______________________________________________
jetty-users mailing list
jetty-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/jetty-users



--
Benjamin Zuill-Smith

Back to the top