jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "MARTINEZ Antonio" <Antonio.Marti...@alcatel-lucent.com>
Subject RE: Problem deploying Jackrabbit on Jboss when using MySql PM
Date Fri, 23 May 2008 01:20:49 GMT
Hello Thomas,
Thanks for the hints. I reviewed the repository.xml and this time I took the one from 1.4
distribution.
Since I need to use it with MySql, I replaced all instances of
  - <FileSystem ...  with <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
  - <PersistenceManager ... with <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
as can be seen bellow.

This change indeed allows jackRabbit to be deployed on Jboss.

HOWEVER, it will come up ONLY if I specify the property homeDir on the datasource file (jcr-ds.xml).
In fact, I read in http://yukatan.fi/2006/12/site/doc/config.html (this page is linked from
apache.jackrabbit.com) that "A designated repository home directory is however always needed
even if some components choose to not use it". Note that "homeDir"  MUST be a file system
path, like /tmp/jackrabbit

What I do not understand is:

    1) Is it possible to configure jackrabbit in such a way that it does not require file
system configuration (homeDir ) ?   In that case this line of the repository.xml would have
to be replaced 

         <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/>,
 by what?

    2) In case 1) is not possible What is jackrabbit storing in the filesystem (homeDir ),
and what in the MySql database? in a case like mine where I use MySqlPersistenceManager and
DbFileSystem ?

    3) When working in a cluster environment, how does jackrabbit deal with the  (homeDir
)? Does homeDir need to be part of the cluster? If so how to make it part of it?

Many thanks,

Antonio Martinez

 



NEW:  jcr-ds.xml
----------------------
<connection-factories>
    <tx-connection-factory>
                <jndi-name>jcr/localrep</jndi-name>
                <xa-transaction/>
                <rar-name>jackrabbit-jca-1.4.4.rar</rar-name>
                <connection-definition>javax.jcr.Repository</connection-definition>
                            
                <config-property name="homeDir" type="java.lang.String">/tmp/jackrabbit</config-property>
                <config-property name="configFile" type="java.lang.String">classpath:repository.xml</config-property>
                <config-property name="bindSessionToTransaction" type="java.lang.Boolean">true</config-property>
    </tx-connection-factory>
</connection-factories>



NEW:  repository.xml
-----------------------------
<?xml version="1.0"?>
<!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
  -->
<!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.2//EN"
                            "http://jackrabbit.apache.org/dtd/repository-1.2.dtd">
<!-- Example Repository Configuration File -->
<Repository>
    <!--
        virtual file system where the repository stores global state
        (e.g. registered namespaces, custom node types, etc.)
    -->

        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
                <param name="driver" value="com.mysql.jdbc.Driver"/>
                <param name="url" value="jdbc:mysql://localhost:3306/emlplatform?useUnicode=true&amp;characterEncoding=UTF-8"
/>
                <param name="user" value="root" />
                <param name="password" value="mysql" />
                <param name="schema" value="mysql"/>
                <param name="schemaObjectPrefix" value="J_R_FS_"/>
        </FileSystem>

    <!--
        security configuration
    -->
    <Security appName="Jackrabbit">
        <!--
            access manager:
            class: FQN of class implementing the AccessManager interface
        -->
        <AccessManager class="org.apache.jackrabbit.core.security.SimpleAccessManager">
            <!-- <param name="config" value="${rep.home}/access.xml"/> -->
        </AccessManager>

        <LoginModule class="org.apache.jackrabbit.core.security.SimpleLoginModule">
           <!-- anonymous user name ('anonymous' is the default value) -->
           <param name="anonymousId" value="anonymous"/>
           <!--
              default user name to be used instead of the anonymous user
              when no login credentials are provided (unset by default)
           -->
           <!-- <param name="defaultUserId" value="superuser"/> -->
        </LoginModule>
    </Security>

    <!--
        location of workspaces root directory and name of default workspace
    -->
    <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/>
    <!--
        workspace configuration template:
        used to create the initial workspace if there's no workspace yet
    -->
    <Workspace name="${wsp.name}">
        <!--
            virtual file system of the workspace:
            class: FQN of class implementing the FileSystem interface
        -->

                <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
                        <param name="driver" value="com.mysql.jdbc.Driver"/>
                        <param name="url" value="jdbc:mysql://localhost:3306/emlplatform?useUnicode=true&amp;characterEncoding=UTF-8"
/>
                        <param name="user" value="root" />
                        <param name="password" value="mysql" />
                        <param name="schema" value="mysql"/>
                        <param name="schemaObjectPrefix" value="J_FS_${wsp.name}_"/>
                </FileSystem>

        <!--
            persistence manager of the workspace:
            class: FQN of class implementing the PersistenceManager interface
        -->

        <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
          <param name="driver" value="com.mysql.jdbc.Driver"/>
          <param name="url" value="jdbc:mysql://localhost:3306/emlplatform"/>
          <param name="user" value="root"/>
          <param name="password" value="mysql"/>
          <param name="schemaObjectPrefix" value="con_"/>
        </PersistenceManager>
        <!--
            Search index and the file system it uses.
            class: FQN of class implementing the QueryHandler interface
        -->
        <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
            <param name="path" value="${wsp.home}/index"/>
        </SearchIndex>
    </Workspace>

    <!--
        Configures the versioning
    -->
    <Versioning rootPath="${rep.home}/version">
        <!--
            Configures the filesystem to use for versioning for the respective
            persistence manager
        -->

                <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
                        <param name="driver" value="com.mysql.jdbc.Driver"/>
                        <param name="url" value="jdbc:mysql://localhost:3306/emlplatform?useUnicode=true&amp;characterEncoding=UTF-8"
/>
                        <param name="user" value="root" />
                        <param name="password" value="mysql" />
                        <param name="schema" value="mysql"/>
                        <param name="schemaObjectPrefix" value="J_V_FS_"/>
                </FileSystem>
       
        <!--
            Configures the persistence manager to be used for persisting version state.
            Please note that the current versioning implementation is based on
            a 'normal' persistence manager, but this could change in future
            implementations.
        -->

        <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
          <param name="driver" value="com.mysql.jdbc.Driver"/>
          <param name="url" value="jdbc:mysql://localhost:3306/emlplatform"/>
          <param name="user" value="root"/>
          <param name="password" value="mysql"/>
          <param name="schemaObjectPrefix" value="ver_"/>
        </PersistenceManager>
    </Versioning>

    <!--
        Search index for content that is shared repository wide
        (/jcr:system tree, contains mainly versions)
    -->
    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
        <param name="path" value="${rep.home}/repository/index"/>
    </SearchIndex>
</Repository>

================================================================================





-----Original Message-----
From: tmueller@day.com [mailto:tmueller@day.com] On Behalf Of Thomas Müller
Sent: Wednesday, May 21, 2008 12:29 AM
To: users@jackrabbit.apache.org
Subject: Re: Problem deploying Jackrabbit on Jboss when using MySql PM

Hi,

Could you have a look in the Jackrabbit log files? I think you will find the root cause there.

Did you change the workspace.xml files?
Is the MySQL JDBC driver in the classpath?

Regards,
Thomas




On Wed, May 21, 2008 at 3:30 AM, MARTINEZ Antonio <Antonio.Martinez@alcatel-lucent.com>
wrote:
> Hello,
>
> I'm trying to move from Derby PM (which was working fine) to MySql PM
> bundle, and I'm getting an error when deploying on JBoss
>
> Any help is greatly appreciated
>
> Thank you,
> Antonio Martinez
>
>
> DEPLOYMENT:
> -----------
> I deploy by copying jackrabbit-jca-axs-db-1.4.4.rar and jcr-ds.xml to
> Jboss deploy directory
>
>
> ------- ERROR --------
> 17:05:35,882 WARN  [ServiceController] Problem starting service
> jboss.jca:service=ConnectionFactoryBinding,name=jcr/localrep
> org.jboss.deployment.DeploymentException: Could not create
> ConnectionFactory for adapter: jboss.jca:service=TxCM,name=jcr/localrep
>        at
> org.jboss.resource.connectionmanager.ConnectionFactoryBindingService.c
> re
> ateConnectionFactory(ConnectionFactoryBindingService.java:132)
>        at
> org.jboss.resource.connectionmanager.ConnectionFactoryBindingService.s
> ta
> rtService(ConnectionFactoryBindingService.java:65)
>        at
> org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSu
> pp
> ort.java:289)
>        at
> org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBe
> an
> Support.java:245)
>        at sun.reflect.GeneratedMethodAccessor971.invoke(Unknown Source)
>        at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
> or
> Impl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:597)
>        at
> org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.
> java:155)
>        at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
>        at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
>        at
> org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.j
> av
> a:264)
>        at
> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
>        at
> org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceControll
> er
> .java:978)
>        at $Proxy0.start(Unknown Source)
>        at
> org.jboss.system.ServiceController.start(ServiceController.java:417)
>        at
> org.jboss.system.ServiceController.start(ServiceController.java:435)
>        at
> org.jboss.system.ServiceController.start(ServiceController.java:435)
>        at
> org.jboss.system.ServiceController.start(ServiceController.java:435)
>        at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
>        at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
> or
> Impl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:597)
>        at
> org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.
> java:155)
>        at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
>        at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
>        at
> org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.j
> av
> a:264)
>        at
> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
>        at
> org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
>        at $Proxy4.start(Unknown Source)
>        at org.jboss.deployment.SARDeployer.start(SARDeployer.java:302)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j
> av
> a:39)
>        at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
> or
> Impl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:597)
>        at
> org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.
> java:155)
>        at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
>        at
> org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.
> java:133)
>        at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
>        at
> org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMB
> ea
> nOperationInterceptor.java:142)
>        at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
>        at
> org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.j
> av
> a:264)
>        at
> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
>        at
> org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
>        at $Proxy45.start(Unknown Source)
>        at
> org.jboss.deployment.XSLSubDeployer.start(XSLSubDeployer.java:197)
>        at
> org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
>        at
> org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
>        at
> org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
>        at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source)
>        at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
> or
> Impl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:597)
>        at
> org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.
> java:155)
>        at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
>        at
> org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.
> java:133)
>        at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
>        at
> org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMB
> ea
> nOperationInterceptor.java:142)
>        at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
>        at
> org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.j
> av
> a:264)
>        at
> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
>        at
> org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
>        at $Proxy9.deploy(Unknown Source)
>        at
> org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeployment
> Sc
> anner.java:421)
>        at
> org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentSc
> an
> ner.java:634)
>        at
> org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.d
> oS
> can(AbstractDeploymentScanner.java:263)
>        at
> org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.l
> oo
> p(AbstractDeploymentScanner.java:274)
>        at
> org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.r
> un
> (AbstractDeploymentScanner.java:225)
> 17:05:35,938 ERROR [URLDeploymentScanner] Incomplete Deployment listing:
>
> --- MBeans waiting for other MBeans ---
> ObjectName:
> jboss.jca:service=ConnectionFactoryBinding,name=jcr/localrep
>  State: FAILED
>  Reason: org.jboss.deployment.DeploymentException: Could not create
> ConnectionFactory for adapter:
> jboss.jca:service=TxCM,name=jcr/localrep
>  I Depend On:
>    jboss.jca:service=TxCM,name=jcr/localrep
>
> --- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM ---
> ObjectName:
> jboss.jca:service=ConnectionFactoryBinding,name=jcr/localrep
>  State: FAILED
>  Reason: org.jboss.deployment.DeploymentException: Could not create
> ConnectionFactory for adapter:
> jboss.jca:service=TxCM,name=jcr/localrep
>  I Depend On:
>    jboss.jca:service=TxCM,name=jcr/localrep
>
>
>
>
>
>
> ================================================================
>
>
> FILE:  repository.xml
> --------------------
>
> <?xml version="1.0"?>
>
> <Repository>
>
>  <Security appName="Jackrabbit">
>    <AccessManager
> class="org.apache.jackrabbit.core.security.SimpleAccessManager">
>    </AccessManager>y
>    <LoginModule
> class="org.apache.jackrabbit.core.security.SimpleLoginModule">
>      <param name="anonymous" value="anonymous"/>
>    </LoginModule>
>  </Security>
>
>  <Workspaces rootPath="$\{rep.home\}/workspaces"
> defaultWorkspace="default"/>
>
>  <Workspace name="$\{wsp.name\}">
>    <PersistenceManager
> class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceM
> an
> ager">
>      <param name="driver" value="com.mysql.jdbc.Driver"/>
>      <param name="url"
> value="jdbc:mysql://localhost:3306/emlplatform"/>
>      <param name="user" value="root"/>
>      <param name="password" value="mysql"/>
>      <param name="schemaObjectPrefix" value="con_"/>
>    </PersistenceManager>
>    <!-- dont want a SearchIndex, setup for Indexing -->  </Workspace>
>
>  <Versioning rootPath="$\{rep.home\}/version">
>    <PersistenceManager
> class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceM
> an
> ager">
>      <param name="driver" value="com.mysql.jdbc.Driver"/>
>      <param name="url"
> value="jdbc:mysql://localhost:3306/emlplatform"/>
>      <param name="user" value="***"/>
>      <param name="password" value="***"/>
>      <param name="schemaObjectPrefix" value="ver_"/>
>    </PersistenceManager>
>  </Versioning>
> </Repository>
>
>
>
> FILE:  jcr-ds.xml
> ----------------
>
> <connection-factories>
>    <tx-connection-factory>
>                <jndi-name>jcr/localrep</jndi-name>
>                <xa-transaction/>
>                <rar-name>jackrabbit-jca-axs-db-1.4.4.rar</rar-name>
>
> <connection-definition>javax.jcr.Repository</connection-definition>
>                <config-property name="configFile"
> type="java.lang.String">classpath:repository.xml</config-property>
>                <config-property name="bindSessionToTransaction"
> type="java.lang.Boolean">true</config-property>
>    </tx-connection-factory>
> </connection-factories>
>
>
>
>
> Finally, the JCA CONTENT:
> ------------------------
>>jar -tvf jackrabbit-jca-axs-db-1.4.4.rar
>     0 Tue May 20 16:56:34 PDT 2008 META-INF/
>    71 Tue May 20 16:56:34 PDT 2008 META-INF/MANIFEST.MF
> 559366 Fri Jan 11 14:44:36 PST 2008 commons-collections-3.1.jar
> 189284 Fri Jan 11 14:44:36 PST 2008 concurrent-1.3.4.jar
> 2253277 Fri Jan 11 14:44:36 PST 2008 derby-10.2.1.6.jar
>  9734 Fri Jan 11 14:44:36 PST 2008 jackrabbit-api-1.4.jar
> 1755819 Fri May 16 11:30:12 PDT 2008 jackrabbit-core-1.4.4.jar
>  29144 Fri Jan 11 14:44:36 PST 2008 jackrabbit-jca-1.4.jar
> 165491 Fri May 16 11:31:26 PDT 2008 jackrabbit-jcr-commons-1.4.2.jar
>  23095 Fri Jan 11 14:44:36 PST 2008 jackrabbit-spi-1.4.jar
> 112033 Fri Jan 11 14:44:36 PST 2008 jackrabbit-spi-commons-1.4.jar
>  33494 Fri Jan 11 14:44:36 PST 2008 jackrabbit-text-extractors-1.4.jar
>  37948 Fri May 16 13:38:54 PDT 2008 jcr-1.0.jar 358180 Fri Jan 11
> 14:44:36 PST 2008 log4j-1.2.13.jar
> 538618 Fri Jan 11 14:44:36 PST 2008 lucene-core-2.2.0.jar
>  2496 Fri Jan 11 14:44:36 PST 2008 META-INF/ra.xml
>     0 Fri Jan 11 14:44:40 PST 2008 META-INF/maven/
>     0 Fri Jan 11 14:44:40 PST 2008
> META-INF/maven/org.apache.jackrabbit/
>     0 Fri Jan 11 14:44:40 PST 2008
> META-INF/maven/org.apache.jackrabbit/jackrabbit-jca/
>  4686 Fri Jan 11 13:57:42 PST 2008
> META-INF/maven/org.apache.jackrabbit/jackrabbit-jca/pom.xml
>   118 Fri Jan 11 14:44:36 PST 2008
> META-INF/maven/org.apache.jackrabbit/jackrabbit-jca/pom.properties
> 104875 Fri Jan 11 14:44:36 PST 2008 nekohtml-0.9.4.jar
> 414101 Fri Jan 11 14:44:36 PST 2008 pdfbox-0.6.4.jar
> 802216 Fri Jan 11 14:44:36 PST 2008 poi-2.5.1-final-20040804.jar
>  1902 Tue May 20 16:56:18 PDT 2008 repository.xml
>  12115 Fri Jan 11 14:44:36 PST 2008 slf4j-api-1.3.0.jar
>  6946 Fri Jan 11 14:44:36 PST 2008 slf4j-log4j12-1.3.0.jar
> 231351 Fri Jan 11 14:44:36 PST 2008 tm-extractors-0.4.jar
> 1212965 Fri Jan 11 14:44:36 PST 2008 xercesImpl-2.8.1.jar
> 195119 Fri Jan 11 14:44:36 PST 2008 xml-apis-1.3.03.jar
>
>



Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message