Anthony, I tried to reference the datasource using the notation indicated in the thread you referenced but I still got the same types of errors. I have come across some articles on the web mentioning something about registering JNDI resources globally rather than locally. Is it possible that I must register the datasource globally instead of using a local definition? I am not a JBoss expert so I am not sure. I will try to debug the application tonight to see what is the value of 'dataSourceLocation' when it gets passed into the following:
ds = (DataSource) ic.lookup(dataSourceLocation); Any other thoughts on how to diagnose the problem are appreciated. Thanks. -----Original Message----- From: [email protected] [mailto:[EMAIL PROTECTED] Sent: Thursday, March 29, 2007 8:53 AM To: [email protected] Subject: Re: [magnolia-user] Derby to MySQL: Problems with DataSourcePersistenceManager wiki 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 ---------------------------------------------------------------- ---------------------------------------------------------------- for list details see http://www.magnolia.info/en/developer.html ----------------------------------------------------------------
