Forum Ametys

Forum de la communauté Ametys

You are not logged in.

#1 22/05/2014 14:58:22

jcavezian
Guest
Registered: 12/05/2014
Posts: 2

Déploiement d'Ametys 3.5.3 sur JBoss AS 7.1.3.Final

Bonjour,

je rencontre un problème de déploiement de Ametys sur le serveur d'application JBoss AS 7.1.3.Final.

Il semblerait que la classe org.apache.cocoon.components.serializers.encoding.CharsetFactory ne supporte pas le protocole vfs dans l'URL renvoyée par ClassLoader.getResource(...)

11:31:07,275 ERROR [NotLogged] [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/cms].[RuntimeApplicationServlet]] (http--127.0.0.1-8080-1) "Servlet.service()" pour la servlet RuntimeApplicationServlet a généré une exception: org.apache.cocoon.components.serializers.encoding.CharsetFactory$CharsetFactoryException: Unable to load charsets from protocol "vfs"
    at org.apache.cocoon.components.serializers.encoding.CharsetFactory.<init>(CharsetFactory.java:77) [cocoon-serializers-block-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.components.serializers.encoding.CharsetFactory.<clinit>(CharsetFactory.java:46) [cocoon-serializers-block-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.components.serializers.EncodingSerializer.configure(EncodingSerializer.java:168) [cocoon-serializers-block-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.components.serializers.XHTMLSerializer.configure(XHTMLSerializer.java:118) [cocoon-serializers-block-2.1.11-ametys-4.jar:]
    at org.ametys.runtime.cocoon.XHTMLSerializer.configure(XHTMLSerializer.java:155) [ametys-runtime-2.5.4.jar:]
    at org.apache.avalon.framework.container.ContainerUtil.configure(ContainerUtil.java:201) [avalon-framework-impl-4.3.jar:4.3]
    at org.apache.avalon.excalibur.component.DefaultComponentFactory.newInstance(DefaultComponentFactory.java:289) [excalibur-component-2.1.jar:2.1]
    at org.apache.avalon.excalibur.pool.InstrumentedResourceLimitingPool.newPoolable(InstrumentedResourceLimitingPool.java:655) [excalibur-pool-instrumented-2.1.jar:2.1]
    at org.apache.avalon.excalibur.pool.InstrumentedResourceLimitingPool.get(InstrumentedResourceLimitingPool.java:371) [excalibur-pool-instrumented-2.1.jar:2.1]
    at org.apache.avalon.excalibur.component.PoolableComponentHandler.doGet(PoolableComponentHandler.java:198) [excalibur-component-2.1.jar:2.1]
    at org.apache.avalon.excalibur.component.ComponentHandler.get(ComponentHandler.java:381) [excalibur-component-2.1.jar:2.1]
    at org.apache.avalon.excalibur.component.ExcaliburComponentSelector.select(ExcaliburComponentSelector.java:215) [excalibur-component-2.1.jar:2.1]
    at org.apache.cocoon.components.ExtendedComponentSelector.select(ExtendedComponentSelector.java:263) [cocoon-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.setSerializer(AbstractProcessingPipeline.java:309) [cocoon-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.setSerializer(AbstractCachingProcessingPipeline.java:159) [cocoon-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.components.treeprocessor.sitemap.SerializeNode.invoke(SerializeNode.java:120) [cocoon-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47) [cocoon-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:108) [cocoon-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) [cocoon-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143) [cocoon-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) [cocoon-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93) [cocoon-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:236) [cocoon-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:178) [cocoon-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:254) [cocoon-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:118) [cocoon-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47) [cocoon-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:108) [cocoon-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) [cocoon-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143) [cocoon-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) [cocoon-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93) [cocoon-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:236) [cocoon-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.handleCocoonRedirect(ConcreteTreeProcessor.java:300) [cocoon-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.access$000(ConcreteTreeProcessor.java:49) [cocoon-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor$TreeProcessorRedirector.cocoonRedirect(ConcreteTreeProcessor.java:348) [cocoon-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.environment.ForwardRedirector.redirect(ForwardRedirector.java:60) [cocoon-2.1.11-ametys-4.jar:]
    at org.ametys.runtime.request.InitRequestAction.act(InitRequestAction.java:65) [ametys-runtime-2.5.4.jar:]
    at org.apache.cocoon.components.treeprocessor.sitemap.ActTypeNode.invoke(ActTypeNode.java:120) [cocoon-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47) [cocoon-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:108) [cocoon-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) [cocoon-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143) [cocoon-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) [cocoon-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93) [cocoon-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:236) [cocoon-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:178) [cocoon-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:254) [cocoon-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.Cocoon.process(Cocoon.java:699) [cocoon-2.1.11-ametys-4.jar:]
    at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1159) [cocoon-2.1.11-ametys-4.jar:]
    at org.ametys.runtime.servlet.RuntimeServlet._doService(RuntimeServlet.java:135) [ametys-runtime-2.5.4.jar:]
    at org.ametys.runtime.servlet.RuntimeServlet.service(RuntimeServlet.java:92) [ametys-runtime-2.5.4.jar:]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.1.Final.jar:1.0.1.Final]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.4.Final.jar:]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.4.Final.jar:]
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.4.Final.jar:]
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.4.Final.jar:]
    at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:165) [jboss-as-web-7.1.3.Final.jar:7.1.3.Final]
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.4.Final.jar:]
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.4.Final.jar:]
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.4.Final.jar:]
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [jbossweb-7.0.4.Final.jar:]
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.4.Final.jar:]
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) [jbossweb-7.0.4.Final.jar:]
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) [jbossweb-7.0.4.Final.jar:]
    at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_45]

Merci.

Jérôme

Offline

#2 23/05/2014 12:28:56

Raphaël Franchet
Expert Team
From: Toulouse
Registered: 10/08/2010
Posts: 1,111

Re: Déploiement d'Ametys 3.5.3 sur JBoss AS 7.1.3.Final

Si je ne m'abuse JBOSS se base pour Tomcat pour le serveur web ? Je n'ai jamais fais de déploiement JBOSS, mais j'utilise tomcat au quotidien.

Quelle version d'Ametys utilisez-vous ? Savez-vous à quelle version de Tomcat on a affaire dans votre version de JBOSS ?

A quel moment utilisez-vous le vfs:// ?
Deployez-vous Ametys sous forme de WAR ?

Ametys ne fonctionne que s'il est extrait, et il est bien possible qu'il faille le référence directement sur le file system pour le déploiement du contexte...


Raphael Franchet
Expert Ametys

Offline

#3 27/05/2014 10:00:09

jcavezian
Guest
Registered: 12/05/2014
Posts: 2

Re: Déploiement d'Ametys 3.5.3 sur JBoss AS 7.1.3.Final

Bonjour,

j'utilise Ametys 3.5.3. Le composant JbossWeb est basé sur Tomcat 6.0.13.
L'application est bien déployée sous forme de répertoire (et non pas de fichier war).

Ce n'est pas moi qui utilise vfs (JBoss-VFS, à ne pas confondre avec Apache Commons VFS),  c'est JBoss Microcontainer (le coeur de JBoss AS).

Dans l'API de Cocoon, la classe org.apache.cocoon.components.serializers.encoding.CharsetFactory fait appel à ClassLoader.getResource(...) qui retourne une URL de type vfs://.
(cf. la trace jointe dans mon premier post)

Le protocol VFS n'est apparemment pas connu de cocoon :

Extrait de org.apache.cocoon.components.serializers.encoding.CharsetFactory

/**
     * Create a new instance of this <code>CharsetFactory</code>.
     */
    private CharsetFactory() {
        super();
        this.unknownCharset = new UnknownCharset();

        ClassLoader loader = Thread.currentThread().getContextClassLoader();
        URL url = loader.getResource(CHARSET_LOOKUP_CLASS);

        if (url == null) {
            throw new CharsetFactoryException("Unable to load charsets "
                    + "because their classes are not present", null);
        }

        if ("jar".equals(url.getProtocol())) {
            this.loadCharsetsFromJar(url);
        } else if ("file".equals(url.getProtocol())) {
            this.loadCharsetsFromFile(url);
        } else {
            throw new CharsetFactoryException("Unable to load charsets " +
                        "from protocol \"" + url.getProtocol() + "\"", null);
        }

Merci

Offline

#4 27/05/2014 14:13:04

Raphaël Franchet
Expert Team
From: Toulouse
Registered: 10/08/2010
Posts: 1,111

Re: Déploiement d'Ametys 3.5.3 sur JBoss AS 7.1.3.Final

Et de quelle manière déclarez-vous l'application à JBOSS ?
Est-ce simplement en la posant dans un certain répertoire ? ou bien est-ce en la déclarant dans un fichier de configuration ?


Raphael Franchet
Expert Ametys

Offline

Board footer

Powered by FluxBB