Yes, I was able to get the Tomcat wars working. I will keep plucking away with JBoss to see if I can fix the problem. I am pretty sure the error is getting thrown in the initializeDataSource() method. I will start debugging there.
Thanks. -----Original Message----- From: [email protected] [mailto:[EMAIL PROTECTED] Sent: Friday, March 30, 2007 9:44 AM To: [email protected] Subject: Re: [magnolia-user] Derby to MySQL: Problems with DataSourcePersistenceManager wiki I'm sorry James, but I'm not a JBoss expert too... I can't help you on JBoss configuration file in any case. Did you try your wars with Tomcat, in order to see if at least it works with what you did ? Anthony James Frankman a écrit : > 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 > ---------------------------------------------------------------- > > ---------------------------------------------------------------- for list details see http://www.magnolia.info/en/developer.html ---------------------------------------------------------------- ---------------------------------------------------------------- for list details see http://www.magnolia.info/en/developer.html ----------------------------------------------------------------
