Change By: Paul Piper (07/Aug/13 1:47 PM)
Description: This is in parts a duplicate to: http://forum.magnolia-cms.com/forum/thread.html?threadId=7e6ba798-b03e-462a-823e-2e1f3441c64b&forumId=caf52257-62a1-40c4-8da7-cefb66785062

On a closed environment, we are deploying against a JBoss EAP 6.1 server (JBoss 7.1). There we stumbled upon the following issue that is turning into a complete hold on our end: 

We configured a proper repository location and use postgres instead:

{code}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 2.0//EN" "http://jackrabbit.apache.org/dtd/repository-2.0.dtd">
<Repository>
  <DataSources>
    <DataSource name="magnolia">
         <param name="driver" value="javax.naming.InitialContext"/>
         <param name="url" value="java:jboss/datasources/magCMS"/>
         <param name="databaseType" value="postgres "/>
      </DataSource>
  </DataSources>
  <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
     <param name="path" value="${rep.home}/repository" />
  </FileSystem>
  <Security appName="magnolia">
    <SecurityManager class="org.apache.jackrabbit.core.DefaultSecurityManager"/>
    <AccessManager class="org.apache.jackrabbit.core.security.DefaultAccessManager">
    </AccessManager>
    <!-- login module defined here is used by the repo to authenticate every request. not by the webapp to authenticate user against the webapp context (this one has to be passed before thing here gets invoked -->
    <LoginModule class="info.magnolia.jaas.sp.jcr.JackrabbitAuthenticationModule">
    </LoginModule>
  </Security>
  <DataStore class="org.apache.jackrabbit.core.data.FileDataStore">
    <param name="path" value="${rep.home}/repository/datastore"/>
    <param name="minRecordLength" value="1024"/>
  </DataStore>
  <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="org.apache.jackrabbit.core.persistence.pool.PostgreSQLPersistenceManager">
      <param name="dataSourceName" value="magnolia"/>
      <param name="schemaObjectPrefix" value="pm_${wsp.name}_" />
    </PersistenceManager>
    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
      <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="maxFieldLength" value="10000" />
      <param name="bufferSize" value="10" />
      <param name="cacheSize" value="1000" />
      <param name="forceConsistencyCheck" value="false" />
      <param name="autoRepair" value="true" />
      <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl" />
      <param name="resultFetchSize" value="100" />
      <param name="extractorPoolSize" value="3" />
      <param name="extractorTimeout" value="100" />
      <param name="extractorBackLogSize" value="100" />
    </SearchIndex>
    <WorkspaceSecurity>
      <AccessControlProvider class="info.magnolia.cms.core.MagnoliaAccessProvider" />
    </WorkspaceSecurity>
  </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="org.apache.jackrabbit.core.persistence.pool.PostgreSQLPersistenceManager">
      <param name="dataSourceName" value="magnolia"/>
      <param name="schemaObjectPrefix" value="version_" />
    </PersistenceManager>
  </Versioning>
</Repository>
{code}

We added a custom configuration, which gets loaded just fine:

{code}
# the directories in which the bootstrap files are searched
#magnolia.temp.home=/home/jboss/standalone/temp/devAuthor/
magnolia.bootstrap.dir=WEB-INF/bootstrap/author WEB-INF/bootstrap/common
magnolia.repositories.jackrabbit.config=WEB-INF/config/repo-conf/jackrabbit-bundle-postgres-custom-search.xml
#magnolia.cache.startdir=${magnolia.temp.home}/cache
#magnolia.upload.tmpdir=${magnolia.temp.home}/tmp
#magnolia.exchange.history=${magnolia.temp.home}/history
#magnolia.repositories.home=${magnolia.temp.home}/repositories
#magnolia.logs.dir=${magnolia.temp.home}/logs
{code} 


We modified jboss appropriately as described in the wiki (created the jboss-deployment-structure.xml & modified jboss to include bouncycastle)

Due to restrictions we are deploying using cli: 
{code}
/opt/jboss/bin/jboss-cli.sh --commands="deploy standalone/deployment/devAuthor.war --name=devAuthor.war --runtime-name=devAuthor.war"
{code}

The first deployment & installation runs fine and the system operates normally. 

However, on a subsequent installation, we receive a range of errors that relate to the way jboss is temporarily extracting the files on deployment. Several Warning with regards to missing nodes are thrown:

{code}
13:22:26,651 INFO  [stdout] (ServerService Thread Pool -- 52) 2013-08-07 13:22:53,743 INFO  [stdout] (ServerService Thread Pool -- 52) 2013-08-07 13:22:53,739 WARN  org.apache.jackrabbit.core.value.BLOBInDataStore  : getSize for cbdcff8dfbfe81e32f17f765720dd7dc7bdae269 failed
13:22:53,743 INFO  [stdout] (ServerService Thread Pool -- 52) org.apache.jackrabbit.core.data.DataStoreException: Record cbdcff8dfbfe81e32f17f765720dd7dc7bdae269 does not exist
{code}

As well as classes that aren't loaded:

{code}
13:23:05,617 INFO  [stdout] (ServerService Thread Pool -- 52) 2013-08-07 13:23:05,611 ERROR info.magnolia.module.ModuleManagerImpl            : Can't start module ui-framework

---

13:23:05,624 INFO  [stdout] (ServerService Thread Pool -- 52) Caused by: java.lang.ClassNotFoundException: info.magnolia.ui.vaadin.richtext.MagnoliaRichTextField from [Module "deployment.devAuthor.war:main" from Service Module Loader]
{code}

Setting the properties to specific locations for the caching & tmpdirs gets rid of the warnings at least, but the module error remains.

I got a feeling this has to do with the relative tmp directories that are being used by jboss, but since we cannot use the deployment scanner, I fear that there is no way for us to explode the war files on deployment.

Is there any workaround we could use to make this work?
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira



----------------------------------------------------------------
For list details, see: http://www.magnolia-cms.com/community/mailing-lists.html
Alternatively, use our forums: http://forum.magnolia-cms.com/
To unsubscribe, E-mail to: <dev-list-unsubscr...@magnolia-cms.com>
----------------------------------------------------------------

Reply via email to