Hello - 

First, thanks for sling! 

 

Next, I have a question about using sling - I'd like to access my JCR
repository via JNDI within Tomcat. 

I believe that I have tomcat properly configured, because I can deploy
jackrabbit org.apache.jackrabbit.j2ee.RepositoryAccessServlet within a
webapp that does NOT deploy an embedded repository, and I can access
the repository without a problem.

 

However, when I deploy a similar config with sling, I believe I am
running into classloader problems, because the JNDI context does NOT
have anything bound to it.

 

Exception stack is below; basically I get
javax.naming.NameNotFoundException: Name java:comp is not bound in this
Context when my (custom) jndi context impl lookup method is executing:

Context initCtx = new InitialContext();

Context ctx = (Context) initCtx.lookup("java:comp/env");

(note that this works fine with jackrabbit webapp).

 

I am deploying the prepacked sling webapp from
http://incubator.apache.org/sling/site/downloads.cgi
<http://incubator.apache.org/sling/site/downloads.cgi> 

 

I downloaded the src from same site, and built the
org.apache.sling.jcr.jackrabbit.client-2.0.2-incubator.jar, and added to
sling\WEB-INF\resources\bundles.

 

In WEB-INF/sling.properties I added:

sling.repository.url=jndi://magnoliaAuthor22:java.naming.factory.initial
=org.myo.jndi.simple.SimpleInitialContextFactory,java.naming.provider.ur
l=localhost

 

I also added to both sling.properties AND jcr-client.properties:

 

sling.bootdelegation.class.org.myo.jndi.simple.SimpleInitialContextFacto
ry = \

 org.myo.jndi.simple,javax.naming,org.apache.naming

 

sling.bootdelegation.class.javax.naming.InitialContext = \

 javax.naming

 

sling.bootdelegation.class.org.apache.naming.NamingContext = \

 org.apache.naming

 

sling.bootdelegation.simple = org.myo.jndi.simple

 

I will try a few more things like, newer codebase of sling (I know some
minor changes have been made to processing of sling.repository.url
property) as well as deployment in jboss.

 

Any ideas how to make this work in tomcat?

 

Thanks for any help.

Tyson

 

 

 

09.02.2009 15:00:54.157 *INFO* [Repository Pinger]
org.apache.sling.jcr.base.util.RepositoryAccessor Unable to acquire R

epository 'magnoliaAuthor22' via JNDI,
context={java.naming.provider.url=localhost,
java.naming.factory.initial=org.myo.

jndi.simple.SimpleInitialContextFactory}
javax.naming.NameNotFoundException: Name java:comp is not bound in this
Context

 

        at
org.apache.naming.NamingContext.lookup(NamingContext.java:770)

        at
org.apache.naming.NamingContext.lookup(NamingContext.java:153)

        at javax.naming.InitialContext.lookup(InitialContext.java:392)

        at
org.myo.jndi.simple.SimpleContext.lookup(SimpleContext.java:270)

        at
org.myo.jndi.simple.SimpleContext.lookup(SimpleContext.java:287)

        at javax.naming.InitialContext.lookup(InitialContext.java:392)

        at
org.apache.sling.jcr.base.util.RepositoryAccessor.getRepository(Reposito
ryAccessor.java:76)

        at
org.apache.sling.jcr.base.util.RepositoryAccessor.getRepositoryFromURL(R
epositoryAccessor.java:171)

        at
org.apache.sling.jcr.base.AbstractSlingRepository.acquireRepository(Abst
ractSlingRepository.java:408)

        at
org.apache.sling.jcr.jackrabbit.client.SlingClientRepository.acquireRepo
sitory(SlingClientRepository.java:57)

 

        at
org.apache.sling.jcr.base.AbstractSlingRepository.startRepository(Abstra
ctSlingRepository.java:795)

        at
org.apache.sling.jcr.base.AbstractSlingRepository.run(AbstractSlingRepos
itory.java:913)

        at java.lang.Thread.run(Thread.java:619)


--------------------------------------------------------------------
This email is intended only for the person or entity to which it is addressed 
and may contain information that is privileged, confidential or otherwise 
protected from disclosure. Dissemination, distribution or copying of this email 
or the information herein by anyone other than the intended recipient, or an 
employee or agent responsible for delivering the message to the intended 
recipient, is prohibited.  If you have received this email in error, please 
immediately notify us by calling our Help Desk at (415) 581-5552 or by 
e-mailing us at helpd...@organic.com.

Reply via email to