Yes, in JBoss you define a datasource by putting a mysql-ds.xml file in the
[JBOSS_HOME]/server/default/deploy directory using the following syntax:
<datasources>
<local-tx-datasource>
<jndi-name>jdbc/magnolia</jndi-name>
<connection-url>jdbc:mysql://fbms2009:3306/jboss</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>jboss</user-name>
<password>password</password>
</local-tx-datasource>
</datasources>
When JBoss starts up it successfully registers my JNDI datasource. It just
fails when JBoss begins to (is bootstrap the correct word?) load magnolia. I
have tried to reference the above datasource as "java:comp/env/jdbc/magnolia"
and as " java:jdbc/magnolia" in the jackrabbit-dspm-search-author.xml file but
I still get the same error: "jdbc not bound"
-----Original Message-----
From: [email protected] [mailto:[EMAIL PROTECTED]
Sent: Thursday, March 29, 2007 7:59 AM
To: [email protected]
Subject: Re: [magnolia-user] Derby to MySQL: Problems with
DataSourcePersistenceManager wiki
I think that you would still get the same error with Derby.
Actually, your problem is that JBoss has a different syntax for creating
Resources. If you look in the wiki (
http://www.magnolia.info/wiki/Wiki.jsp?page=DataSourcePersistenceManager
) when I say "create the datasource definition". As far as I know the
syntax here is specific for Tomcat ... at least you should verify the
JBoss way to define an "application context", and more specifically, the
JBoss way to define a Resource. Especially, look at the JNDI path : in
the jackrabbit-dspm-search-author.xml you can see <param
name="dataSourceLocation" value="java:comp/env/jdbc/magnolia"/>. You
have to check if in JBoss, it is required to specify "comp/env/" before
the "jdbc/magnolia" defined in the resource.
Anthony
James Frankman a écrit :
> I was able to get this working on Tomcat, thank for your help. Now that I
> have gotten my feet wet, I want to try to get this working on JBoss.
>
> I checked the mailing list and could not find what you are referring to. I
> have a couple questions concerning Anthony's response.
>
> By "Another syntax is used for JDBC paths" are you referring to changing the
> syntax in the jackrabbit-mysql-search.xml file or in the JBoss datasource
> definition itself, or something else entirely?
>
> Is this "jdbc not bound" error due to the DataSourcePersistenceManager, or is
> it a problem with magnolia regardless or persistence manager. In other words,
> if I tried to use a JNDI datasource bound to Derby instead of MySQL would I
> still be getting this same error.
>
> -----Original Message-----
> From: [email protected] [mailto:[EMAIL PROTECTED]
> Sent: Monday, March 26, 2007 2:44 AM
> To: [email protected]
> Subject: Re: [magnolia-user] Derby to MySQL: Problems with
> DataSourcePersistenceManager wiki
>
> I remember that for JBoss, it's another syntax which is used for JDBC
> paths. It has already been pointed out on the mailing list.
> For your problem Narinder, have you deleted the "repositories"
> directory, and clean all MySQL tables in order to force Magnolia to
> bootstrap ? Because the community edition is shipped with already
> bootstrapped instances which use the jackrabbit derby driver.
>
> Anthony
>
> Narinder Kumar a écrit :
>
>> Hi James,
>>
>> I won't be able to tell you about JBoss, but while integrating with
>> Tomcat, I also went through similar errors. The problem was perhaps,
>> you copied just the contents mentioned in wiki page in the config file
>> : jackrabbit-dspm-search-author.xml. We must put the definition part
>> as well in the file. My complete file looks like :
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <!DOCTYPE Repository [
>> <!--
>> the Repository element configures a repository instance;
>> individual workspaces of the repository are configured through
>> separate configuration files called workspace.xml which are
>> located in a subfolder of the workspaces root directory
>> (see Workspaces element).
>> it consists of
>> a FileSystem element (the virtual file system
>> used by the repository to persist global state such as
>> registered namespaces, custom node types, etc..
>> a Security element that specifies the name of the app-entry
>> in the JAAS config and the access manager
>> a Workspaces element that specifies to the location of
>> workspaces root directory and the name of default workspace
>> a Workspace element that is used as a workspace configuration
>> template; it is used to create the initial workspace if
>> there's
>> no workspace yet and for creating additional workspaces
>> through
>> the api
>> a SearchIndex element that is used for configuring per
>> workspace
>> Indexing-related settings
>> a Versioning element that is used for configuring
>> versioning-related settings
>> -->
>> <!ELEMENT Repository
>> (FileSystem,Security,Workspaces,Workspace,Versioning)>
>> <!--
>> a virtual file system
>> -->
>> <!ELEMENT FileSystem (param*)>
>> <!ATTLIST FileSystem
>> class CDATA #REQUIRED>
>> <!--
>> the Security element specifies the name (appName attribute)
>> of the JAAS configuration app-entry for this repository.
>> it also specifies the access manager to be used (AccessManager
>> element).
>> -->
>> <!ELEMENT Security (AccessManager, LoginModule?)>
>> <!ATTLIST Security
>> appName CDATA #REQUIRED>
>> <!--
>> the AccessManager element configures the access manager to be
>> used by
>> this repository instance; the class attribute specifies the FQN
>> of the
>> class implementing the AccessManager interface
>> -->
>> <!ELEMENT AccessManager (param*)>
>> <!ATTLIST AccessManager
>> class CDATA #REQUIRED>
>> <!--
>> generic parameter (name/value pair)
>> -->
>> <!ELEMENT param EMPTY>
>> <!ATTLIST param
>> name CDATA #REQUIRED
>> value CDATA #REQUIRED>
>> <!--
>> the LoginModule element optionally specifies a JAAS login
>> module to
>> authenticate users. This feature allows the use of Jackrabbit in a
>> non-JAAS environment.
>> -->
>> <!ELEMENT LoginModule (param*)>
>> <!ATTLIST LoginModule
>> class CDATA #REQUIRED>
>> <!--
>> the Workspaces element specifies the workspaces root directory
>> (rootPath attribute) and the name of the default workspace
>> (defaultWorkspace attribute).
>> individual workspaces are configured through individual
>> workspace.xml
>> files located in a subfolder each of the workspaces root
>> directory.
>> -->
>> <!ELEMENT Workspaces EMPTY>
>> <!ATTLIST Workspaces
>> rootPath CDATA #REQUIRED
>> defaultWorkspace CDATA #REQUIRED>
>> <!--
>> the Workspace element serves as a workspace configuration
>> template;
>> it is used to create the initial workspace if there's no
>> workspace yet
>> and for creating additional workspaces through the api
>> -->
>> <!ELEMENT Workspace (FileSystem,PersistenceManager,SearchIndex?)>
>> <!ATTLIST Workspace
>> name CDATA #REQUIRED>
>> <!--
>> the PersistenceManager element configures the persistence manager
>> to be used for the workspace; the class attribute specifies the
>> FQN of the class implementing the PersistenceManager interface
>> -->
>> <!ELEMENT PersistenceManager (param*)>
>> <!ATTLIST PersistenceManager
>> class CDATA #REQUIRED>
>> <!--
>> the SearchIndex element specifies the locaction of the search
>> index
>> (used by the QueryHandler); the class attribute specifies the
>> FQN of the class implementing the QueryHandler interface.
>> -->
>> <!ELEMENT SearchIndex (param*,FileSystem?)>
>> <!ATTLIST SearchIndex
>> class CDATA #REQUIRED>
>> <!--
>> the Versioning element configures the persistence manager
>> to be used for persisting version state
>> -->
>> <!ELEMENT Versioning (FileSystem, PersistenceManager)>
>> <!ATTLIST Versioning
>> rootPath CDATA #REQUIRED
>> >
>> ]>
>> <Repository>
>> <FileSystem
>> class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
>> <param name="path" value="${rep.home}/repository"/>
>> </FileSystem>
>> <Security appName="Jackrabbit">
>> <AccessManager
>> class="org.apache.jackrabbit.core.security.SimpleAccessManager"></AccessManager>
>>
>>
>> <LoginModule
>> class="org.apache.jackrabbit.core.security.SimpleLoginModule">
>> <param name="anonymousId" value="anonymous"/>
>> </LoginModule>
>> </Security>
>> <Workspaces rootPath="${rep.home}/workspaces"
>> defaultWorkspace="default"/>
>> <Workspace name="default">
>> <FileSystem
>> class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
>> <param name="path" value="${wsp.home}/default" />
>> </FileSystem>
>> <PersistenceManager
>> class="com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager">
>>
>>
>> <param name="dataSourceLocation"
>> value="java:comp/env/jdbc/magnolia"/>
>> <param name="schemaObjectPrefix" value="author_${wsp.name}_"/>
>> <param name="externalBLOBs" value="false"/>
>> </PersistenceManager>
>> <SearchIndex
>> class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>> <param name="textFilterClasses"
>>
>> value="org.apache.jackrabbit.core.query.MsExcelTextFilter,org.apache.jackrabbit.core.query.MsPowerPointTextFilter,org.apache.jackrabbit.core.query.MsWordTextFilter,org.apache.jackrabbit.core.query.PdfTextFilter,org.apache.jackrabbit.core.query.HTMLTextFilter,org.apache.jackrabbit.core.query.XMLTextFilter,org.apache.jackrabbit.core.query.RTFTextFilter"/>
>>
>>
>> <param name="path" value="${wsp.home}/index"/>
>> <param name="useCompoundFile" value="true"/>
>> <param name="minMergeDocs" value="100"/>
>> <param name="volatileIdleTime" value="3"/>
>> <param name="maxMergeDocs" value="100000"/>
>> <param name="mergeFactor" value="10"/>
>> <param name="bufferSize" value="10"/>
>> </SearchIndex>
>> </Workspace>
>> <Versioning rootPath="${rep.home}/version">
>> <FileSystem
>> class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
>> <param name="path" value="${rep.home}/workspaces/version"/>
>> </FileSystem>
>> <PersistenceManager
>> class="com.iorgagroup.jackrabbit.core.state.db.DataSourcePersistenceManager">
>>
>>
>> <param name="dataSourceLocation"
>> value="java:comp/env/jdbc/magnolia"/>
>> <param name="schemaObjectPrefix" value="author_version_"/>
>> <param name="externalBLOBs" value="false"/>
>> </PersistenceManager>
>> </Versioning>
>> </Repository>
>>
>> After making the change in Author and Public instances, I am getting
>> no errors during starting up.
>>
>> But that leads me to other problems while trying to publish new
>> content from Author instance :
>>
>> ERROR info.magnolia.module.admininterface.commands.ActivationCommand
>> Activation
>> Command.java(execute:86) 26.03.2007 12:46:55 can't activate
>> info.magnolia.cms.exchange.ExchangeException: Message received from
>> subscriber:
>> Activation failed | failed to build path of
>> 0bffc839-1382-4499-990c-281968b66291
>> : 271e4431-ac45-4dd6-9e23-3778566c88a1 has no child entry for
>> 0bffc839-1382-4499
>> -990c-281968b66291: Message received from subscriber: Activation
>> failed | failed
>> to build path of 0bffc839-1382-4499-990c-281968b66291:
>> 271e4431-ac45-4dd6-9e23-
>> 3778566c88a1 has no child entry for 0bffc839-1382-4499-990c-281968b66291
>> at
>> info.magnolia.cms.exchange.simple.BaseSyndicatorImpl.activate(BaseSyn
>> dicatorImpl.java:255)
>> at
>> info.magnolia.module.admininterface.commands.ActivationCommand.execut
>> e(ActivationCommand.java:82)
>> at
>> info.magnolia.commands.MgnlCommand.executePooledOrSynchronized(MgnlCo
>> mmand.java:141)
>> at
>> info.magnolia.commands.MgnlCommand.execute(MgnlCommand.java:128)
>> at
>> info.magnolia.module.workflow.MgnlParticipant.consume(MgnlParticipant
>> .java:116)
>> at
>> openwfe.org.embed.impl.engine.AbstractEmbeddedParticipant.dispatch(Ab
>> stractEmbeddedParticipant.java:154)
>> at
>> openwfe.org.engine.expressions.ParticipantExpression.dispatch(Partici
>> pantExpression.java:456)
>> at
>> openwfe.org.engine.expressions.ParticipantExpression.regularDispatch(
>> ParticipantExpression.java:471)
>> at
>> openwfe.org.engine.expressions.ParticipantExpression.apply(Participan
>> tExpression.java:414)
>> at
>> openwfe.org.engine.expressions.raw.RawExpression.apply(RawExpression.
>> java:370)
>>
>> Any pointers, tips..
>>
>> Regards
>> Narinder
>>
>> From: James Frankman [mailto:[EMAIL PROTECTED]
>> Sent: Sun 3/25/2007 7:55 AM
>> To: [email protected]
>> Subject: [magnolia-user] Derby to MySQL: Problems with
>> DataSourcePersistenceManager wiki
>>
>>
>> I tried to follow this wiki in an attempt to switch to MySQL but had
>> problems with JBoss and Tomcat. With JBoss, the solution provided
>> could never find the JNDI data source I set up for MySQL. I kept
>> getting "jdbc not bound" errors.
>>
>> I tried to follow the wiki more exactly by trying to do it with
>> Tomcat, but I get the following error:
>>
>> Has anybody successfully implmented the instructions on the Wiki?
>> Perhaps there is a mistake, or can someone give me any ideas what is
>> going wrong?
>>
>> INFO info.magnolia.jackrabbit.ProviderImpl
>> ProviderImpl.java(init:143) 25.03.2
>> 007 00:54:34 Loading repository at
>> C:\jameswork\magnolia-3.0.2\tomcat\webapps\m
>> agnoliaAuthor\repositories\magnolia (config file:
>> C:\jameswork\magnolia-3.0.2\to
>> mcat\webapps\magnoliaAuthor\WEB-INF\config\repo-conf\jackrabbit-dspm-search-auth
>>
>>
>> or.xml)
>> [Fatal Error] :-1:-1: Premature end of file.
>> ERROR info.magnolia.jackrabbit.ProviderImpl
>> ProviderImpl.java(init:176) 25.03.2
>> 007 00:54:35 Unable to initialize repository: Configuration file
>> syntax error.:
>> Premature end of file.
>> org.apache.jackrabbit.core.config.ConfigurationException:
>> Configuration file syn
>> tax error.: Premature end of file.: Premature end of file.
>> at
>> org.apache.jackrabbit.core.config.ConfigurationParser.parseXML(Config
>> urationParser.java:548)
>> at
>> org.apache.jackrabbit.core.config.ConfigurationParser.parseWorkspaceC
>> onfig(ConfigurationParser.java:296)
>> at
>> org.apache.jackrabbit.core.config.RepositoryConfig.loadWorkspaceConfi
>> g(RepositoryConfig.java:366)
>> at
>> org.apache.jackrabbit.core.config.RepositoryConfig.init(RepositoryCon
>> fig.java:320)
>>
>> ----------------------------------------------------------------
>> for list details see
>> http://www.magnolia.info/en/developer.html
>> ----------------------------------------------------------------
>>
>> ----------------------------------------------------------------
>> for list details see
>> http://www.magnolia.info/en/developer.html
>> ----------------------------------------------------------------
>>
>>
>
>
> ----------------------------------------------------------------
> for list details see
> http://www.magnolia.info/en/developer.html
> ----------------------------------------------------------------
>
> ----------------------------------------------------------------
> for list details see
> http://www.magnolia.info/en/developer.html
> ----------------------------------------------------------------
>
>
----------------------------------------------------------------
for list details see
http://www.magnolia.info/en/developer.html
----------------------------------------------------------------
----------------------------------------------------------------
for list details see
http://www.magnolia.info/en/developer.html
----------------------------------------------------------------