Hi Woonsan Thanks for your input.
So I can write my custom webapplication with JackrabbitRepositoryServlet. But I will still need to deploy jackrabbit-webapp for all the other functionalities. In that case will not my custom-app still suffer from repository lock as jackrabbit-webapp will still have lock on the repo ? Regards Jimmy On Mon, Jun 24, 2019 at 9:20 PM Woonsan Ko <[email protected]> wrote: > On Mon, Jun 24, 2019 at 11:02 AM jimy page <[email protected]> wrote: > > > > Thanks Woonsan for your quick response. > > > > I tried configuring StatisticsServlet. What I did was, in > jackrabbit-webapp > > I have added StatisticsServlet. > > But RepositoryContext context = > > (RepositoryContext)this.getServletContext().getAttribute(name);----> at > > this line I am unable to retrievecontext. > > This is always coming null. > > jackrabbit-webapp doesn't seem to expose a RepositoryContext. So, I > don't think you can use StatisticsServlet with it. > You can perhaps use JackrabbitRepositoryServlet [1] in a custom web > application to initialize your repository instance instead of > jackrabbit-webapp. Then RepositoryContext will become available. > > Regards, > > Woonsan > > [1] > http://jackrabbit.apache.org/api/trunk/org/apache/jackrabbit/servlet/jackrabbit/JackrabbitRepositoryServlet.html > > > > > So I did it in a hacky way, created a new MetricsServlet overriding > > StatisticsServlet's methods. > > > > > > So my question is, what is the best way to retrieve RepositoryConfig > object > > ? > > > > The following code is giving me stat for newly created repo: > > > > RepositoryConfig config = null; > > try { > > config = RepositoryConfig.create(new File("/Users/xxxxx/repo2"));// > > //**some try > > // **some try ends here > > } catch (ConfigurationException e) { > > e.printStackTrace(); > > } > > RepositoryContext context = null; > > try { > > context = RepositoryContext.create(config); > > if (context != null) { > > RepositoryStatistics statistics = > context.getRepositoryStatistics(); > > ==========================> > > > > *I need help in how to instantiate RepositoryConfig, which will point to > > the same repo that my jackrabbit instance is using.* > > > > *There is no documentation found for this :(.* > > > > > > > > *Thanks * > > *Jimy* > > > > > > > > On Mon, Jun 24, 2019 at 7:01 PM Woonsan Ko <[email protected]> wrote: > > > > > On Mon, Jun 24, 2019 at 7:19 AM jimy page <[email protected]> > wrote: > > > > > > > > I have jackrabbit runnig with repo /users/xyz/repo1 > > > > Inside this I have repository.xml > > > > > > > > > > > > I want to call > org.apache.jackrabbit.servlet.jackrabbit.StatisticsServlet > > > > to show different metrices. > > > > > > > > > > > > *But the problem I am facing here is: --> In order to create > > > > RepositoryConfig, I need to pass in the repo folder path, but > Jackrabbit > > > > process is already kept it locked. What is the alternative here ?* > > > > > > > > *I can copy over "/Users/xyz/repository/", to some other folder and > use > > > > that, but my question is in that case will I get all the repository > > > > information ?* > > > > > > I don't think so. > > > If you copy the data such as directories and *recreate* a. new > > > repository instance, it will show new statistics of the new running > > > repository. > > > I think you should just configure the StatisticsServlet on the same > > > web application which initializes the repository. > > > > > > Regards, > > > > > > Woonsan > > > > > > > > > > > ----> Here is my sample code > > > > > > > > HttpServletRequest request, HttpServletResponse response) > > > > throws ServletException, IOException { > > > > String klass = RepositoryContext.class.getName(); > > > > String name = getServletConfig().getInitParameter(klass); > > > > if (name == null) { > > > > name = klass; > > > > } > > > > > > > > // RepositoryContext context = (RepositoryContext) > > > > // getServletContext().getAttribute(name); > > > > RepositoryConfig config = null; > > > > try { > > > > config = RepositoryConfig.create(new > > > File("/Users/xyz/repository/")); > > > > //**some try > > > > // **some try ends here > > > > } catch (ConfigurationException e) { > > > > e.printStackTrace(); > > > > } > > > > RepositoryContext context = null; > > > > try { > > > > context = RepositoryContext.create(config); > > > >
