You are not logged in.
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
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
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
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