Setting up Hippo with PostgreSQL

638 views
Skip to first unread message

k...@northpointdigital.com

unread,
Jan 12, 2015, 11:16:03 AM1/12/15
to hippo-c...@googlegroups.com
Hi,

  I am trying to set up Hippo with Postgresql. I try to configure tomcat and Jackrabbit with it and get the following error. Not sure if I am setting it up correctly. Any ideas?

[INFO] [talledLocalContainer] 12.01.2015 10:46:02 ERROR localhost-startStop-1 [RepositoryImpl.<init>:366] failed to start Repository: Cannot instantiate persistence manager org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager
[INFO] [talledLocalContainer] javax.jcr.RepositoryException: Cannot instantiate persistence manager org.apache.jackrabbit.core.persistence.bundle                                              .PostgreSQLPersistenceManager
[INFO] [talledLocalContainer] at org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1353)
[INFO] [talledLocalContainer] at org.apache.jackrabbit.core.RepositoryImpl.createVersionManager(RepositoryImpl.java:486)
[INFO] [talledLocalContainer] at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:311)
[INFO] [talledLocalContainer] at org.hippoecm.repository.jackrabbit.RepositoryImpl.<init>(RepositoryImpl.java:61)
[INFO] [talledLocalContainer] at org.hippoecm.repository.LocalHippoRepository$LocalRepositoryImpl.<init>(LocalHippoRepository.java:243)
[INFO] [talledLocalContainer] at org.hippoecm.repository.LocalHippoRepository.initializeStartup(LocalHippoRepository.java:302)
[INFO] [talledLocalContainer] at org.hippoecm.repository.LocalHippoRepository.initialize(LocalHippoRepository.java:263)
[INFO] [talledLocalContainer] at org.hippoecm.repository.LocalHippoRepository.create(LocalHippoRepository.java:130)
[INFO] [talledLocalContainer] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[INFO] [talledLocalContainer] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[INFO] [talledLocalContainer] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[INFO] [talledLocalContainer] at java.lang.reflect.Method.invoke(Method.java:606)
[INFO] [talledLocalContainer] at org.hippoecm.repository.HippoRepositoryFactory.getHippoRepository(HippoRepositoryFactory.java:178)
[INFO] [talledLocalContainer] at org.hippoecm.repository.RepositoryServlet.init(RepositoryServlet.java:191)
[INFO] [talledLocalContainer] at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1284)
[INFO] [talledLocalContainer] at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1197)
[INFO] [talledLocalContainer] at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1087)
[INFO] [talledLocalContainer] at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5210)
[INFO] [talledLocalContainer] at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5493)
[INFO] [talledLocalContainer] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
[INFO] [talledLocalContainer] at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
[INFO] [talledLocalContainer] at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
[INFO] [talledLocalContainer] at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:632)
[INFO] [talledLocalContainer] at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1083)
[INFO] [talledLocalContainer] at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1880)
[INFO] [talledLocalContainer] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
[INFO] [talledLocalContainer] at java.util.concurrent.FutureTask.run(FutureTask.java:262)
[INFO] [talledLocalContainer] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[INFO] [talledLocalContainer] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[INFO] [talledLocalContainer] at java.lang.Thread.run(Thread.java:745)
[INFO] [talledLocalContainer] Caused by: org.apache.jackrabbit.core.config.ConfigurationException: Configured bean implementation class org.apache.jackrabbit.core.persistence.bundle                                              .PostgreSQLPersistenceManager was not found.
[INFO] [talledLocalContainer] at org.apache.jackrabbit.core.config.SimpleBeanFactory.newInstance(SimpleBeanFactory.java:44)
[INFO] [talledLocalContainer] at org.apache.jackrabbit.core.config.BeanConfig.newInstance(BeanConfig.java:191)
[INFO] [talledLocalContainer] at org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1340)
[INFO] [talledLocalContainer] ... 29 more
[INFO] [talledLocalContainer] Caused by: java.lang.ClassNotFoundException: org.apache.jackrabbit.core.persistence.bundle                                              .PostgreSQLPersistenceManager
[INFO] [talledLocalContainer] at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
[INFO] [talledLocalContainer] at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
[INFO] [talledLocalContainer] at java.lang.Class.forName0(Native Method)
[INFO] [talledLocalContainer] at java.lang.Class.forName(Class.java:270)
[INFO] [talledLocalContainer] at org.apache.jackrabbit.core.config.SimpleBeanFactory.newInstance(SimpleBeanFactory.java:30)
[INFO] [talledLocalContainer] ... 31 more


Here is my repository.xml under /myhippoproject/cms/src/main/webapp/WEB-INF/classes/org/hippoecm/repository/repository.xml

<?xml version="1.0" encoding="UTF-8"?>


<!DOCTYPE Repository PUBLIC


          "-//The Apache Software Foundation//DTD Jackrabbit 1.5//EN"


      "http://jackrabbit.apache.org/dtd/repository-1.5.dtd">


<Repository>


 


    <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">


        <param name="url" value="java:comp/env/jdbc/repositoryDS" />


        <param name="driver" value="javax.naming.InitialContext" />


        <param name="schemaObjectPrefix" value="repository_" />


        <param name="schema" value="postgresql" />


    </FileSystem>


 


    <Security appName="Jackrabbit">


        <SecurityManager


           class="org.hippoecm.repository.security.SecurityManager" />


        <AccessManager


           class="org.hippoecm.repository.security.HippoAccessManager" />


        <LoginModule


           class="org.hippoecm.repository.security.HippoLoginModule" />


    </Security>


 


    <Workspaces rootPath="${rep.home}/workspaces"


        defaultWorkspace="default" />


    <Workspace name="${wsp.name}">


        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">


            <param name="url" value="java:comp/env/jdbc/repositoryDS" />


            <param name="driver" value="javax.naming.InitialContext" />


            <param name="schemaObjectPrefix" value="${wsp.name}_" />


            <param name="schema" value="postgresql" />


        </FileSystem>


 


        <PersistenceManager


            class="org.apache.jackrabbit.core.persistence.bundle


                                          .PostgreSQLPersistenceManager">


            <param name="driver" value="javax.naming.InitialContext" />


            <param name="url" value="java:comp/env/jdbc/repositoryDS" />


            <param name="schemaObjectPrefix" value="${wsp.name}_" />


            <param name="externalBLOBs" value="true" />


            <param name="consistencyCheck" value="true" />


            <param name="consistencyFix" value="true" />


        </PersistenceManager>


 


        <SearchIndex


            class="org.hippoecm.repository.FacetedNavigationEngineImpl">


            <param name="indexingConfiguration"


                   value="indexing_configuration.xml" />


            <param name="indexingConfigurationClass"


                   value="org.hippoecm.repository.query.lucene


                                   .ServicingIndexingConfigurationImpl" />


            <param name="path" value="${wsp.home}/index" />


            <param name="useCompoundFile" value="true" />


            <param name="minMergeDocs" value="1000" />


            <param name="volatileIdleTime" value="10" />


            <param name="maxMergeDocs" value="1000000000" />


            <param name="mergeFactor" value="5" />


            <param name="maxFieldLength" value="10000" />


            <param name="bufferSize" value="1000" />


            <param name="cacheSize" value="1000" />


            <param name="forceConsistencyCheck" value="true" />


            <param name="enableConsistencyCheck" value="true" />


            <param name="autoRepair" value="true" />


            <param name="analyzer"


                   value="org.apache.lucene.analysis.standard


                                                 .StandardAnalyzer" />


            <param name="queryClass"


                   value="org.apache.jackrabbit.core.query.QueryImpl" />


            <param name="respectDocumentOrder" value="false" />


            <param name="resultFetchSize" value="2147483647" />


            <param name="extractorPoolSize" value="0" />


            <param name="extractorTimeout" value="100" />


            <param name="extractorBackLogSize" value="100" />


        </SearchIndex>


        <ISMLocking


            class="org.apache.jackrabbit.core.state.FineGrainedISMLocking"/>


    </Workspace>


 


    <Versioning rootPath="${rep.home}/version">


        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">


            <param name="url" value="java:comp/env/jdbc/repositoryDS" />


            <param name="driver" value="javax.naming.InitialContext" />


            <param name="schemaObjectPrefix" value="version_" />


            <param name="schema" value="postgresql" />


        </FileSystem>


 


        <PersistenceManager


            class="org.apache.jackrabbit.core.persistence.bundle


                                             .PostgreSQLPersistenceManager">


            <param name="driver" value="javax.naming.InitialContext" />


            <param name="url" value="java:comp/env/jdbc/repositoryDS" />


            <param name="schemaObjectPrefix" value="version_" />


            <param name="externalBLOBs" value="true" />


            <param name="consistencyCheck" value="true" />


            <param name="consistencyFix" value="true" />


        </PersistenceManager>


        <ISMLocking class="org.apache.jackrabbit.core.state


                                                .FineGrainedISMLocking"/>


    </Versioning>


 


    <DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">


        <param name="url" value="java:comp/env/jdbc/repositoryDS" />


        <param name="driver" value="javax.naming.InitialContext" />


        <param name="databaseType" value="postgresql" />


        <param name="minRecordLength" value="1024" />


        <param name="maxConnections" value="5" />


        <param name="copyWhenReading" value="true" />


    </DataStore>


</Repository>



And this is some fragment of my pom.xml:

<profile>

     <id>cargo.run</id>

     <build>

       <plugins>

         <plugin>

           <groupId>org.codehaus.cargo</groupId>

           <artifactId>cargo-maven2-plugin</artifactId>

           <configuration>

             <configuration>

               <dependencies>

                         <dependency>


                            <groupId>postgresql</groupId>


                            <artifactId>postgresql</artifactId>


                            <classpath>extra</classpath>


                          </dependency>


                          <dependency>


                            <groupId>mysql</groupId>


                            <artifactId>mysql-connector-java</artifactId>


                            <classpath>extra</classpath>


                          </dependency>


                        </dependencies>


                <systemProperties>


                  <repo.config>


                     file:${project.basedir}/cms/src/main/webapp/WEB-INF/classes/org/hippoecm/repository/repository.xml


                  </repo.config>


                  <derby.stream.error.file>${project.basedir}/target/derby.log</derby.stream.error.file>


                  <log4j.configuration>file:${project.basedir}/conf/log4j-dev.xml</log4j.configuration>


                  <rebel.log4j-plugin>true</rebel.log4j-plugin>


                  <!-- enables auto export: -->


                  <project.basedir>${project.basedir}</project.basedir>


                </systemProperties>


              </container>

           </configuration>

         </plugin>

       </plugins>

     </build>

   </profile>

marijan milicevic

unread,
Jan 12, 2015, 11:40:28 AM1/12/15
to hippo-c...@googlegroups.com
Hi,
class: org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager
should be:

org.apache.jackrabbit.core.persistence.pool.PostgreSQLPersistenceManager

cheers
marijan


--
Hippo Community Group: The place for all discussions and announcements about Hippo CMS (and HST, repository etc. etc.)
 
To post to this group, send email to hippo-c...@googlegroups.com
RSS: https://groups.google.com/group/hippo-community/feed/rss_v2_0_msgs.xml?num=50
---
You received this message because you are subscribed to the Google Groups "Hippo Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hippo-communi...@googlegroups.com.
Visit this group at http://groups.google.com/group/hippo-community.
For more options, visit https://groups.google.com/d/optout.

Kai Li

unread,
Jan 12, 2015, 12:09:33 PM1/12/15
to hippo-c...@googlegroups.com
Thank you for your prompt response. It fixes that error, but another one comes up with the class ServicingIndexingConfigurationImpl not found for indexing. How should I fix it here? Any help would be welcome.

Thanks,
Sam

[INFO] [talledLocalContainer] 12.01.2015 12:09:11 WARN  localhost-startStop-1 [SearchIndex.setIndexingConfigurationClass:2246] Invalid value for indexingConfigurationClass, class org.hippoecm.repository.query.lucene                                    .ServicingIndexingConfigurationImpl not found.
[INFO] [talledLocalContainer] 12.01.2015 12:09:11 WARN  localhost-startStop-1 [JackrabbitAnalyzer.getAnalyzerInstance:60] org.apache.lucene.analysis.standard                                                  .StandardAnalyzer could not be found
[INFO] [talledLocalContainer] java.lang.ClassNotFoundException: org.apache.lucene.analysis.standard                                                  .StandardAnalyzer

[INFO] [talledLocalContainer]     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
[INFO] [talledLocalContainer]     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
[INFO] [talledLocalContainer]     at java.lang.Class.forName0(Native Method)
[INFO] [talledLocalContainer]     at java.lang.Class.forName(Class.java:190)
[INFO] [talledLocalContainer]     at org.apache.jackrabbit.core.query.lucene.JackrabbitAnalyzer.getAnalyzerInstance(JackrabbitAnalyzer.java:58)
[INFO] [talledLocalContainer]     at org.apache.jackrabbit.core.query.lucene.JackrabbitAnalyzer.setDefaultAnalyzerClass(JackrabbitAnalyzer.java:127)
[INFO] [talledLocalContainer]     at org.apache.jackrabbit.core.query.lucene.SearchIndex.setAnalyzer(SearchIndex.java:1885)

[INFO] [talledLocalContainer]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[INFO] [talledLocalContainer]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[INFO] [talledLocalContainer]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[INFO] [talledLocalContainer]     at java.lang.reflect.Method.invoke(Method.java:606)
[INFO] [talledLocalContainer]     at org.apache.jackrabbit.core.config.BeanConfig.setProperty(BeanConfig.java:245)
[INFO] [talledLocalContainer]     at org.apache.jackrabbit.core.config.BeanConfig.newInstance(BeanConfig.java:206)
[INFO] [talledLocalContainer]     at org.apache.jackrabbit.core.config.RepositoryConfigurationParser$1.getQueryHandler(RepositoryConfigurationParser.java:680)
[INFO] [talledLocalContainer]     at org.apache.jackrabbit.core.config.WorkspaceConfig.getQueryHandler(WorkspaceConfig.java:251)
[INFO] [talledLocalContainer]     at org.apache.jackrabbit.core.SearchManager.<init>(SearchManager.java:171)
[INFO] [talledLocalContainer]     at org.hippoecm.repository.jackrabbit.HippoSearchManager.<init>(HippoSearchManager.java:78)
[INFO] [talledLocalContainer]     at org.hippoecm.repository.jackrabbit.RepositoryImpl$HippoWorkspaceInfo.getSearchManager(RepositoryImpl.java:260)
[INFO] [talledLocalContainer]     at org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.doPostInitialize(RepositoryImpl.java:2098)
[INFO] [talledLocalContainer]     at org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.initialize(RepositoryImpl.java:2004)
[INFO] [talledLocalContainer]     at org.apache.jackrabbit.core.RepositoryImpl.initStartupWorkspaces(RepositoryImpl.java:517)
[INFO] [talledLocalContainer]     at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:324)
[INFO] [talledLocalContainer] 12.01.2015 12:09:12 ERROR localhost-startStop-1 [RepositoryImpl.initStartupWorkspaces:524] Failed to initialize workspace 'default'
[INFO] [talledLocalContainer] javax.jcr.RepositoryException: Unable to initialize query handler: org.hippoecm.repository.FacetedNavigationEngineImpl@560c48bd
[INFO] [talledLocalContainer]     at org.apache.jackrabbit.core.config.RepositoryConfigurationParser$1.getQueryHandler(RepositoryConfigurationParser.java:686)
[INFO] [talledLocalContainer]     at org.apache.jackrabbit.core.config.WorkspaceConfig.getQueryHandler(WorkspaceConfig.java:251)
[INFO] [talledLocalContainer]     at org.apache.jackrabbit.core.SearchManager.<init>(SearchManager.java:171)
[INFO] [talledLocalContainer]     at org.hippoecm.repository.jackrabbit.HippoSearchManager.<init>(HippoSearchManager.java:78)
[INFO] [talledLocalContainer]     at org.hippoecm.repository.jackrabbit.RepositoryImpl$HippoWorkspaceInfo.getSearchManager(RepositoryImpl.java:260)
[INFO] [talledLocalContainer]     at org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.doPostInitialize(RepositoryImpl.java:2098)
[INFO] [talledLocalContainer]     at org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.initialize(RepositoryImpl.java:2004)
[INFO] [talledLocalContainer]     at org.apache.jackrabbit.core.RepositoryImpl.initStartupWorkspaces(RepositoryImpl.java:517)
[INFO] [talledLocalContainer]     at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:324)
[INFO] [talledLocalContainer] Caused by: java.io.IOException: Error indexing workspace
[INFO] [talledLocalContainer]     at org.apache.jackrabbit.core.query.lucene.MultiIndex.createInitialIndex(MultiIndex.java:394)
[INFO] [talledLocalContainer]     at org.apache.jackrabbit.core.query.lucene.SearchIndex.doInit(SearchIndex.java:573)
[INFO] [talledLocalContainer]     at org.hippoecm.repository.FacetedNavigationEngineImpl.doInit(FacetedNavigationEngineImpl.java:650)
[INFO] [talledLocalContainer]     at org.apache.jackrabbit.core.query.AbstractQueryHandler.init(AbstractQueryHandler.java:78)
[INFO] [talledLocalContainer]     at org.apache.jackrabbit.core.config.RepositoryConfigurationParser$1.getQueryHandler(RepositoryConfigurationParser.java:683)
[INFO] [talledLocalContainer]     ... 35 more


You received this message because you are subscribed to a topic in the Google Groups "Hippo Community" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/hippo-community/eHlWr6G60Yo/unsubscribe.
To unsubscribe from this group and all its topics, send an email to hippo-communi...@googlegroups.com.

marijan milicevic

unread,
Jan 12, 2015, 12:19:01 PM1/12/15
to hippo-c...@googlegroups.com
Hi Sam,

I think best way to solve your problem(s) is to copy mysql config and change mysql references with PostgreSQL ones, please see following [1] link for repository.xml file:


hth,
cheers
marijan


William Borg Barthet

unread,
Jan 12, 2015, 12:25:31 PM1/12/15
to hippo-c...@googlegroups.com
Hi there,

information and assistance regarding these kind of infrastructure questions are part of our Hippo Enterprise Subscription. We would happily assist you directly with this if you are working for or with an enterprise customer. Please contact our sales team at sa...@onehippo.com for more information. Thank you for understanding.

Regards,

William
Amsterdam - Oosteinde 11, 1017 WT Amsterdam
Boston - 745 Atlantic Avenue, Boston, MA 02111
 
US +1 877 414 4776 (toll free)
Europe +31(0)20 522 4466
www.onehippo.com

k...@northpointdigital.com

unread,
Jan 12, 2015, 12:28:19 PM1/12/15
to hippo-c...@googlegroups.com
Thank you very much! It works! I replace the SearchIndex tag with the one from Oracle setup.
http://www.onehippo.org/library/deployment/configuring/configuring-hippo-7-for-oracle-and-tomcat.html
Hippo CMS finally comes up! A hundred thanks!
...

Niels van Kampenhout

unread,
Jan 14, 2015, 4:49:20 AM1/14/15
to hippo-c...@googlegroups.com
Hi,

Out of curiosity, did you find this page:

http://www.onehippo.org/library/deployment/configuring/configuring-hippo-7-for-postgresql.html

and if so, was it helpful?

I don't think we see a lot of PostgreSQL users (compared to MySQL,
Oracle) so the page might be outdated or incomplete.

Thanks,
Niels

k...@northpointdigital.com

unread,
Jan 14, 2015, 10:17:24 AM1/14/15
to hippo-c...@googlegroups.com
Hi Niels,

  Thank you very much. It's definitely helpful. I did not find this exact page. It would have saved me much time. The one I found is for Hippo 7.8 postgesql setup with glassfish.
http://www.onehippo.org/7_8/library/deployment/configuring/configuring-hippo-7-for-glassfish-v3-and-postgresql.html
  It's not up-to-date and not 100% what we want, but at least it makes a statement that hippo supports Postgreql in the older version easily.

Thanks,
Sam

Wouter Pasman

unread,
Jan 14, 2015, 10:26:42 AM1/14/15
to hippo-c...@googlegroups.com
On Wed, Jan 14, 2015 at 4:17 PM, <k...@northpointdigital.com> wrote:
Hi Niels,

  Thank you very much. It's definitely helpful. I did not find this exact page. It would have saved me much time. The one I found is for Hippo 7.8 postgesql setup with glassfish.
http://www.onehippo.org/7_8/library/deployment/configuring/configuring-hippo-7-for-glassfish-v3-and-postgresql.html
  It's not up-to-date and not 100% what we want, but at least it makes a statement that hippo supports Postgreql in the older version easily.

Please note that Postgres Support is only available for Hippo Customers, who have opted in for Enterprise Support.

For more information, contact sa...@onehippo.com

regards,

Wouter

Thanks,
Sam

     
On Wednesday, January 14, 2015 at 4:49:20 AM UTC-5, n.vankampenhout wrote:
Hi,

Out of curiosity, did you find this page:

http://www.onehippo.org/library/deployment/configuring/configuring-hippo-7-for-postgresql.html

and if so, was it helpful?

I don't think we see a lot of PostgreSQL users (compared to MySQL,
Oracle) so the page might be outdated or incomplete.

Thanks,
Niels

On Mon, Jan 12, 2015 at 6:28 PM,  <k...@northpointdigital.com> wrote:
> Thank you very much! It works! I replace the SearchIndex tag with the one
> from Oracle setup.
> http://www.onehippo.org/library/deployment/configuring/configuring-hippo-7-for-oracle-and-tomcat.html
> Hippo CMS finally comes up! A hundred thanks!

--
Reply all
Reply to author
Forward
0 new messages