mysticfall / pivot4j

Pivot4J provides a common API for OLAP servers which can be used to build an analytical service frontend with pivot style GUI.
Other
128 stars 101 forks source link

Deploying Analytics with Mojarra profile fails on JBoss AS 7 #130

Closed mysticfall closed 10 years ago

mysticfall commented 10 years ago

Currently, deploying pivot4j-analytics project with Mojarra profile on JBoss AS 7 fails with following exception:

20:21:21,278 SEVERE [javax.enterprise.resource.webcontainer.jsf.config] (ServerService Thread Pool -- 79) Unable to process annotations for url, vfs:/home/fender/프로그램/jboss-eap-6.2/standalone/deployments/pivot4j-analytics.war/WEB-INF/lib/primefaces-extensions-1.1.0.jar/META-INF/faces-config.xml.  Reason: java.util.zip.ZipException: error in opening zip file
20:21:26,726 SEVERE [javax.enterprise.resource.webcontainer.jsf.config] (ServerService Thread Pool -- 79) : java.util.zip.ZipException: error in opening zip file
    at java.util.zip.ZipFile.open(Native Method) [rt.jar:1.6.0_27]
    at java.util.zip.ZipFile.<init>(ZipFile.java:132) [rt.jar:1.6.0_27]
    at java.util.jar.JarFile.<init>(JarFile.java:151) [rt.jar:1.6.0_27]
    at sun.net.www.protocol.jar.URLJarFile.<init>(URLJarFile.java:85) [rt.jar:1.6.0_27]
    at sun.net.www.protocol.jar.URLJarFile$1.run(URLJarFile.java:232) [rt.jar:1.6.0_27]
    at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.6.0_27]
    at sun.net.www.protocol.jar.URLJarFile.retrieve(URLJarFile.java:216) [rt.jar:1.6.0_27]
    at sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:68) [rt.jar:1.6.0_27]
    at sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:71) [rt.jar:1.6.0_27]
    at sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:122) [rt.jar:1.6.0_27]
    at sun.net.www.protocol.jar.JarURLConnection.getJarFile(JarURLConnection.java:89) [rt.jar:1.6.0_27]
    at com.sun.faces.config.JavaClassScanningAnnotationScanner.processClasspath(JavaClassScanningAnnotationScanner.java:166) [javax.faces-2.2.5.jar:2.2.5]
    at com.sun.faces.config.JavaClassScanningAnnotationScanner.getAnnotatedClasses(JavaClassScanningAnnotationScanner.java:125) [javax.faces-2.2.5.jar:2.2.5]
    at com.sun.faces.config.DelegatingAnnotationProvider.getAnnotatedClasses(DelegatingAnnotationProvider.java:85) [javax.faces-2.2.5.jar:2.2.5]
    at com.sun.faces.config.ConfigManager$AnnotationScanTask.call(ConfigManager.java:931) [javax.faces-2.2.5.jar:2.2.5]

It looks like it's the same problem mentioned in following links, so there's not much to do from our side :

mksnewgen commented 10 years ago

Has anyone experienced the same issue with EAP 6.2..

I'm getting the same issue with JSF 2.1 deployment of application on EAP 6.2..

Not able to resolve it past one week..

If anybody has any resolution regarding the same issue...Kindly post it on this thread..

It will be of great help...thank you..

mysticfall commented 10 years ago

Hi,

Sorry for the late response. Unfortunately, the issue hasn't been addressed yet, and it's why it's left open.

I'll try to see if I can come up with something this weekend, and I'll update the issue in case I make any progress.

mysticfall commented 10 years ago

@mksnewgen I just began working on this, and to my surprise I found the latest snapshot to be working on JBoss EAP 6.2 without modification. I suspect the latest upgrade to JSF and PrimeFaces library made some difference.

Could you try to confirm that on your environment, if you have time? And please let me know the details if it still does not work on your side, so I could reproduce it on my end.

Thanks!

mksnewgen commented 10 years ago

App Server EAP 6.2 JSF 2.1 with custom component

09:59:37,367 SEVERE [javax.enterprise.resource.webcontainer.jsf.config](ServerService Thread Pool -- 85) Unable to process annotations for url, vfs:/D:/Jboss-EAP/jboss-eap-6.2.0/bin/content/formviewer.war/WEB-INF/lib/omniforms.jar/META-INF/faces-config.xml. Reason: java.util.zip.ZipException: error in opening zip file 09:59:37,523 SEVERE [javax.enterprise.resource.webcontainer.jsf.config](ServerService Thread Pool -- 85) : java.util.zip.ZipException: error in opening zip file at java.util.zip.ZipFile.open(Native Method) [rt.jar:1.6.0_25] at java.util.zip.ZipFile.(Unknown Source) [rt.jar:1.6.0_25] at java.util.jar.JarFile.(Unknown Source) [rt.jar:1.6.0_25] at sun.net.www.protocol.jar.URLJarFile.(Unknown Source) [rt.jar:1.6.0_25] at sun.net.www.protocol.jar.URLJarFile$1.run(Unknown Source) [rt.jar:1.6.0_25] at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.6.0_25] at sun.net.www.protocol.jar.URLJarFile.retrieve(Unknown Source) [rt.jar:1.6.0_25] at sun.net.www.protocol.jar.URLJarFile.getJarFile(Unknown Source) [rt.jar:1.6.0_25] at sun.net.www.protocol.jar.JarFileFactory.get(Unknown Source) [rt.jar:1.6.0_25] at sun.net.www.protocol.jar.JarURLConnection.connect(Unknown Source) [rt.jar:1.6.0_25] at sun.net.www.protocol.jar.JarURLConnection.getJarFile(Unknown Source) [rt.jar:1.6.0_25] at com.sun.faces.config.JavaClassScanningAnnotationScanner.processClasspath(JavaClassScanningAnnotationScanner.java:165) [jsf-impl.jar:2.1.1-FCS] at com.sun.faces.config.JavaClassScanningAnnotationScanner.getAnnotatedClasses(JavaClassScanningAnnotationScanner.java:124) [jsf-impl.jar:2.1.1-FCS] at com.sun.faces.config.DelegatingAnnotationProvider.getAnnotatedClasses(DelegatingAnnotationProvider.java:85) [jsf-impl.jar:2.1.1-FCS] at com.sun.faces.config.ConfigManager$AnnotationScanTask.call(ConfigManager.java:846) [jsf-impl.jar:2.1.1-FCS] at com.sun.faces.config.ConfigManager$AnnotationScanTask.call(ConfigManager.java:798) [jsf-impl.jar:2.1.1-FCS] at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) [rt.jar:1.6.0_25] at java.util.concurrent.FutureTask.run(Unknown Source) [rt.jar:1.6.0_25] at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:350) [jsf-impl.jar:2.1.1-FCS] at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:225) [jsf-impl.jar:2.1.1-FCS] at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3339) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.StandardContext.start(StandardContext.java:3777) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.jboss.as.web.deployment.WebDeploymentService.doStart(WebDeploymentService.java:156) [jboss-as-web-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14] at org.jboss.as.web.deployment.WebDeploymentService.access$000(WebDeploymentService.java:60) [jboss-as-web-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14] at org.jboss.as.web.deployment.WebDeploymentService$1.run(WebDeploymentService.java:93) [jboss-as-web-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [rt.jar:1.6.0_25] at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) [rt.jar:1.6.0_25] at java.util.concurrent.FutureTask.run(Unknown Source) [rt.jar:1.6.0_25] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [rt.jar:1.6.0_25] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.6.0_25] at java.lang.Thread.run(Unknown Source) [rt.jar:1.6.0_25] at org.jboss.threads.JBossThread.run(JBossThread.java:122)

09:59:37,586 INFO [javax.enterprise.resource.webcontainer.jsf.config](ServerService Thread Pool -- 85) Unsanitized stacktrace from failed start...: java.lang.IllegalArgumentException: javax.faces.context.ExceptionHandlerFactory at javax.faces.FactoryFinder.validateFactoryName(FactoryFinder.java:616) [jsf-api.jar:1_1_01] at javax.faces.FactoryFinder.setFactory(FactoryFinder.java:261) [jsf-api.jar:1_1_01] at com.sun.faces.config.processor.FactoryConfigProcessor.setFactory(FactoryConfigProcessor.java:292) [jsf-impl.jar:2.1.1-FCS] at com.sun.faces.config.processor.FactoryConfigProcessor.processFactories(FactoryConfigProcessor.java:245) [jsf-impl.jar:2.1.1-FCS] at com.sun.faces.config.processor.FactoryConfigProcessor.process(FactoryConfigProcessor.java:199) [jsf-impl.jar:2.1.1-FCS] at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:360) [jsf-impl.jar:2.1.1-FCS] at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:225) [jsf-impl.jar:2.1.1-FCS] at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3339) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.StandardContext.start(StandardContext.java:3777) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.jboss.as.web.deployment.WebDeploymentService.doStart(WebDeploymentService.java:156) [jboss-as-web-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14] at org.jboss.as.web.deployment.WebDeploymentService.access$000(WebDeploymentService.java:60) [jboss-as-web-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14] at org.jboss.as.web.deployment.WebDeploymentService$1.run(WebDeploymentService.java:93) [jboss-as-web-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [rt.jar:1.6.0_25] at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) [rt.jar:1.6.0_25] at java.util.concurrent.FutureTask.run(Unknown Source) [rt.jar:1.6.0_25] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [rt.jar:1.6.0_25] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.6.0_25] at java.lang.Thread.run(Unknown Source) [rt.jar:1.6.0_25] at org.jboss.threads.JBossThread.run(JBossThread.java:122)

mksnewgen commented 10 years ago

The problem was due to loading to JSF 1.1 while loading global modules. Now I solved that problem by explicitly declaring global modules exclusion in jboss-deployment-structure.xml. In that I specified to pick jsf 2.1 jars ( packaged with server ) instead of JSF 1.1 ( present in global module). Although the same jars are also present in my WEB-INF lib. Server is not picking them from there. After making above changes I got below error. Kindly try to help me as there is no response from googling it also..............................

10:12:15,810 INFO [org.jboss.as.connector.deployers.jdbc](MSC service thread 1-8) JBAS010403: Deploying JDBC-compliant driver class com.microsoft.sqlserver.jdbc.SQLServerDriver (version 2.0) 10:12:17,281 ERROR [org.jboss.msc.service.fail](MSC service thread 1-4) MSC000001: Failed to start service jboss.deployment.unit."formviewer.war".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.unit."formviewer.war".POST_MODULE: JBAS018733: Failed to process phase POST_MODULE of deployment "formviewer.war" at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:127) [jboss-as-server-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14] at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.4.GA-redhat-1.jar:1.0.4.GA-redhat-1] at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.4.GA-redhat-1.jar:1.0.4.GA-redhat-1] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [rt.jar:1.6.0_25] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.6.0_25] at java.lang.Thread.run(Unknown Source) [rt.jar:1.6.0_25] Caused by: java.lang.RuntimeException: JBAS018757: Error getting reflective information for class com.sun.faces.taglib.jsf_core.SubviewTag with ClassLoader ModuleClassLoader for Module "deployment.formviewer.war:main" from Service Module Loader at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:72) [jboss-as-server-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14] at org.jboss.as.ee.metadata.MethodAnnotationAggregator.runtimeAnnotationInformation(MethodAnnotationAggregator.java:58) at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.handleAnnotations(InterceptorAnnotationProcessor.java:107) at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.processComponentConfig(InterceptorAnnotationProcessor.java:92) at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.deploy(InterceptorAnnotationProcessor.java:77) at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:120) [jboss-as-server-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14] ... 5 more Caused by: java.lang.LinkageError: loader constraint violation: when resolving overridden method "com.sun.faces.taglib.jsf_core.SubviewTag.createVerbatimComponentFromBodyContent()Ljavax/faces/component/UIComponent;" the class loader (instance of org/jboss/modules/ModuleClassLoader) of the current class, com/sun/faces/taglib/jsf_core/SubviewTag, and its superclass loader (instance of org/jboss/modules/ModuleClassLoader), have different Class objects for the type javax/faces/component/UIComponent used in the signature at java.lang.Class.getDeclaredFields0(Native Method) [rt.jar:1.6.0_25] at java.lang.Class.privateGetDeclaredFields(Unknown Source) [rt.jar:1.6.0_25] at java.lang.Class.getDeclaredFields(Unknown Source) [rt.jar:1.6.0_25] at org.jboss.as.server.deployment.reflect.ClassReflectionIndex.(ClassReflectionIndex.java:57) [jboss-as-server-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14] at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:68) [jboss-as-server-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14] ... 10 more

mysticfall commented 10 years ago

I'm afraid I'm a bit confused here, as your stacktrace seems to show an error occurred during deployment of formviewer.war with Mojarra JSF 2.1.1 impl.

Pivot4J needs JSF 2.2 to run, and currently bundles its own MyFaces libraries by default. Does formviewer.war application have anything to do with Pivot4J, or do you have any specific reason why you can't run Pivot4J with default JSF 2.2/MyFaces setup?

mksnewgen commented 10 years ago

Thanks for your reply.. I've solved the problem myself.

The problem was due to some of the deployed application was using JSF 1.1 which were present in global modules in JBoss EAP 6.2. Since EAP loads jars first time only even if they are present in application's WEB-INF lib.

I've solved this problem by skipping loading of global jars through jboss-deployment-structure.xml. In j..d..s...xml I've specified to load custom library created for my application only.

After putting j..d..s...xml in WEB-INF application now deployed successfully and working fine.

again thanks for your HELP for looking into the issue.

mysticfall commented 10 years ago

Glad to know you solved your problem! I'll close this issue now.