[Résolu]Alfresco et Glassfish

cancel
Showing results for 
Search instead for 
Did you mean: 
anarcotik
Member II

[Résolu]Alfresco et Glassfish

Bonjour à tous,

je chercher à executer Alfresco 2.1 (commuity) avec Glassfish V2. J'arrive à upload le .war d'Alfresco dans glassfish mais lorsque j'essaye d'accéder à alfresco j'ai un HTTP 503 qui m'insulte. En regardant les logs de glassfish, je vois qu'il y a un problème de connexion avec la base et pour cause, je n'ais pas les fichiers de configurations. En effet, ces fichiers dans tomcat se trouvent dans [alfresco]/tomcat/shared/classes/alfresco/extension mais je ne sais pas ou les mettre dans l'arborescence de GlassFish. Dans le wiki, l'endroit est précisé pour JBoss et tomcat mais pas pour glassfish et les différents post sur les forum ne semblent pas évoquer ce problème mais uniquement les erreurs de compatibilité avec MyFaces.

Quelqu'un aurait il la réponse ou au moins une piste?

Y a t il un fichier de configuration dans le war d'Alfresco qui définisse ou chercher les fichiers?

Merci d'Avance !
3 Replies
anarcotik
Member II

Re: [Résolu]Alfresco et Glassfish

Bonjour à tous,

après quelques recherches, je crois avoir compris que les fichiers se trouvant dans [tomcat]/shared/classes/alfresco… ne sont pas indispensable mais ne sont que des spécifications par rapport aux fichiers de configuration se trouvant dans alfresco\WEB-INF\classes\alfresco. Sur ce point j'aimerais que quelqu'un me dise si je me trompe ou non.

Partant du principe que ce que je dis plus haut est vrai j'ai configuré le fichier alfresco\WEB-INF\classes\alfresco\repository.properties que vous pouvez voir ici

# The location for lucene index files
dir.indexes=${dir.root}/lucene-indexes

# The location for lucene index locks
dir.indexes.lock=${dir.indexes}/locks

# The index recovery mode (NONE, VALIDATE, AUTO, FULL)
index.recovery.mode=VALIDATE

# Change the failure behaviour of the configuration checker
system.bootstrap.config_check.strict=true

#
# Properties to limit resources spent on individual searches
#
# The maximum time spent pruning results
system.acl.maxPermissionCheckTimeMillis=10000
# The maximum number of results to perform permission checks against
system.acl.maxPermissionChecks=1000

# #################### #
# Lucene configuration #
# #################### #
#
# Millisecond threshold for text transformations
# Slower transformers will force the text extraction to be asynchronous
#
lucene.maxAtomicTransformationTime=20
#
# The maximum number of clauses that are allowed in a lucene query
#
lucene.query.maxClauses=10000
#
# The size of the queue of nodes waiting for index
# Events are generated as nodes are changed, this is the maximum size of the queue used to coalesce event
# When this size is reached the lists of nodes will be indexed
#
# http://issues.alfresco.com/browse/AR-1280:  Setting this high is the workaround as of 1.4.3.
#
lucene.indexer.batchSize=1000000
#
# Lucene index min merge docs - the in memory size of the index
#
lucene.indexer.minMergeDocs=1000
#
# When lucene index files are merged together - it will try to keep this number of segments/files in 
#
lucene.indexer.mergeFactor=10
#
# Roughly the maximum number of nodes indexed in one file/segment
#
lucene.indexer.maxMergeDocs=100000
#
# The number of terms from a document that will be indexed
#
lucene.indexer.maxFieldLength=10000

lucene.write.lock.timeout=10000
lucene.commit.lock.timeout=100000
lucene.lock.poll.interval=100

# Database configuration
db.schema.update=true
db.name=alfresco
db.driver=org.gjt.mm.mysql.Driver
db.url=jdbc:mysql://localhost/alfresco
db.username=alfresco
db.password=alfresco
db.pool.initial=10
db.pool.max=20

# Email configuration
mail.host=
mail.port=25
mail.username=anonymous
mail.password=
# Set this value to UTF-8 or similar for encoding of email messages as required
mail.encoding=UTF-8
# Set this value to 7bit or similar for Asian encoding of email headers as required
mail.header=
mail.from.default=alfresco@alfresco.org

# System Configuration
system.store=system://system
system.descriptor.childname=sys:descriptor
system.descriptor.current.childname=sys:descriptor-current

# User config
alfresco_user_store.store=user://alfrescoUserStore
alfresco_user_store.system_container.childname=sys:system
alfresco_user_store.user_container.childname=sys:people
alfresco_user_store.authorities_container.childname=sys:authorities

# Spaces Archive Configuration
spaces.archive.store=archive://SpacesStore

# Spaces Configuration
spaces.store=workspace://SpacesStore
spaces.company_home.childname=app:company_home
spaces.guest_home.childname=app:guest_home
spaces.dictionary.childname=app:dictionary
spaces.templates.childname=app:space_templates
spaces.templates.content.childname=app:content_templates
spaces.templates.email.childname=app:email_templates
spaces.templates.rss.childname=app:rss_templates
spaces.savedsearches.childname=app:saved_searches
spaces.scripts.childname=app:scripts
spaces.wcm.childname=app:wcm
spaces.content_forms.childname=app:wcm_forms
spaces.user_homes.childname=app:user_homes

# Folders for storing people
system.system_container.childname=sys:system
system.people_container.childname=sys:people

# Folders for storing workflow related info
system.workflow_container.childname=sys:workflow

# Are user names case sensitive?
# ==============================
#
# NOTE: If you are using mysql you must have case sensitive collation
#
# You can do this when creating the alfresco database at the start
# CREATE DATABASE alfresco CHARACTER SET utf8 COLLATION utf8_bin;
# If you want to do this later this is a dump and load fix as it is done when the database, tables and columns are created.
#
# Must other databases are case sensitive by default.
#
user.name.caseSensitive=false

# AVM Specific properties.
avm.remote.idlestream.timeout=30000

j'ai donc bien configuré alfresco pour mysql. Je me suis assuré d'avoir crée la base alfresco dans mysql en executant le script fourni dans alfresco\extras\databases\mysql qui crée la base et donne les droits correctement.

J'ai également pris soin de supprimer le dossier alf_data avant de relancer alfresco

cependant j'ai toujours la même erreur :


Execution result:
   os:         Windows XP
   command:    imconvert "C:\DOCUME~1\UNIS~1.UNI\LOCALS~1\Temp\Alfresco\ImageMagickContentTransformer_init_source_15600.gif"  "C:\DOCUME~1\UNIS~1.UNI\LOCALS~1\Temp\Alfresco\ImageMagickContentTransformer_init_target_15601.png"
   succeeded:  false
   exit code:  1
   out:       
   err:        CreateProcess: imconvert "C:\DOCUME~1\UNIS~1.UNI\LOCALS~1\Temp\Alfresco\ImageMagickContentTransformer_init_source_15600.gif" "C:\DOCUME~1\UNIS~1.UNI\LOCALS~1\Temp\Alfresco\ImageMagickContentTransformer_init_target_15601.png" error=2
10:40:38,500 WARN  [org.springframework.remoting.rmi.RmiRegistryFactoryBean] Could not detect RMI registry - creating new one
10:40:38,781 ERROR [org.springframework.web.context.ContextLoader] Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dictionaryRepositoryBootstrap' defined in class path resource [alfresco/core-services-context.xml]: Invocation of init method failed; nested exception is org.alfresco.error.AlfrescoRuntimeException: Failure during rollback: org.alfresco.repo.dictionary.DictionaryRepositoryBootstrap$1@14a6c40
Caused by:
org.alfresco.error.AlfrescoRuntimeException: Failure during rollback: org.alfresco.repo.dictionary.DictionaryRepositoryBootstrap$1@14a6c40
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:281)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:155)
   at org.alfresco.repo.dictionary.DictionaryRepositoryBootstrap.bootstrap(DictionaryRepositoryBootstrap.java:134)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:585)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1160)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1122)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1085)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:429)
   at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:250)
   at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:247)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:161)
   at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:273)
   at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:346)
   at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:156)
   at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
   at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
   at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
   at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4523)
   at org.apache.catalina.core.StandardContext.start(StandardContext.java:5184)
   at com.sun.enterprise.web.WebModule.start(WebModule.java:326)
   at com.sun.enterprise.web.LifecycleStarter.doRun(LifecycleStarter.java:58)
   at com.sun.appserv.management.util.misc.RunnableBase.runSync(RunnableBase.java:304)
   at com.sun.appserv.management.util.misc.RunnableBase._submit(RunnableBase.java:176)
   at com.sun.appserv.management.util.misc.RunnableBase.submit(RunnableBase.java:192)
   at com.sun.enterprise.web.VirtualServer.startChildren(VirtualServer.java:1672)
   at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1231)
   at org.apache.catalina.core.StandardHost.start(StandardHost.java:955)
   at com.sun.enterprise.web.LifecycleStarter.doRun(LifecycleStarter.java:58)
   at com.sun.appserv.management.util.misc.RunnableBase.runSync(RunnableBase.java:304)
   at com.sun.appserv.management.util.misc.RunnableBase.run(RunnableBase.java:341)
   at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
   at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
   at java.util.concurrent.FutureTask.run(FutureTask.java:123)
   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
   at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.IllegalStateException: No user transaction is active
   at org.alfresco.util.transaction.SpringAwareUserTransaction.rollback(SpringAwareUserTransaction.java:479)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:276)
   … 39 more

Si quelqu'un pouvait m'aiguiller sur mon problème j'en serais très reconnaissant.

Merci d'avance



rappel je travail avec Alfresco 2.1 et glassfish V2
anarcotik
Member II

Re: [Résolu]Alfresco et Glassfish

Bonjour à tous,

je me répond à moi même concernant mes deux postes précédents.

Pour le démarrage de Alfresco, par défaut avec les fichiers du dossier WEB-INF\classes\alfresco, alfresco va chercher une base mysql alfresco dans le localhost, il faut donc bien s'assurer que cette base existe, a les droits et qu'elle est lancée. Il faut également faire attention au dossier alf_data qui par défaut se mettra dans
glassfish/domains/domain1/config/ et que je conseil de supprimer pour repartir sur des bases saines.

Concernant les fichiers de configuration que l'on dépose traditionnellement dans le fichier tomcat/shared/classes/alfresco, il vous suffit de les déposer dans glassfish/domains/domain1/lib/classes/alfresco/extension (les derniers dossiers ne sont pas crées à vous de le faire)

Attention : "domains1" correspond à mon domain, si votre application est déployée sur un autre domain, changer la valeur avec celle adéquat.

J'ai testé cette configuration avec Alfresco 2.1 et Glassfish V2.

j'espère que cela pourra aider des personnes.

Bonne journée.
michaelh
Active Member

Re: [Résolu]Alfresco et Glassfish

Merci pour le retour !

De mon coté je n'ai jamais croisé Glassfish encore, donc ça pourra servir, et à d'autres sans doute.