Hide Forgot
Description of problem: designer.war doesn't run when deployed into EWS out of the box. Accessing designer fails with java.lang.ClassNotFoundException: org.apache.log4j.Logger. Version-Release number of selected component (if applicable): BRMS 5.3.0 ER3, EWS 1.0.2 How reproducible: always Steps to Reproduce: 1. deploy designer into EWS 2. start the server 3. access http://localhost:8080/designer/editor/?profile=jbpm Actual results: with java.lang.ClassNotFoundException: org.apache.log4j.Logger Expected results: designer.war should run out of the box when deployed into EWS Additional info: designer.war already contains slf4j-api and slf4j-jdk14 binding. Could the designer simply drop log4j? Or not exclude log4j-over-slf4j from the build?
Will look into this. Currently Designer should always be deployed along with Guvnor as Guvnor is responsible to initiate the save and load functionality of process assets. On it's own Designer is only able to view process assets that are stored in the Guvnor JCR.
Actually the issue occurs even if Guvnor is deployed too. I think it really doesn't matter if Guvnor is deployed or not. This issue is about missing classes on designer's classpath, which is different from Guvnor's one as these two WARs are deployed separately (that's expected, isn't it?).
I'm not sure as I have never seen this exception in the stacktrace before, even in the previous ER releases, but maybe I missed it? Not getting it running on AS 5.1 or 7.0.2 but again those are different than EWS. I wonder if we need a special designer deployment war for EWS here?
Sure, this won't reproduce on EAP/AS as log4j is provided (can be found in jboss-as/common/lib). On the other hand, Tomcat inside EWS does not provide log4j, so there is nowhere to find org.apache.log4j.Logger class. I think there are several options: 1) stop using log4j in designer code and replace it with slf4j completely (a few classes already use slf4j, the rest needs to be converted to it) 2) the same is achieved without changing the code by including http://www.slf4j.org/legacy.html#log4j-over-slf4j which already is in POM dependencies but, for some reason, is excluded from the build (see build section of POM) 3) we can add another note to manually add the required libs to EWS here http://docs.redhat.com/docs/en-US/JBoss_Enterprise_BRMS_Platform/5/html/BRMS_Administrator_Guide/appendix-EWS-installation.html Please no special build for EWS :)
If possible, this should handled during the build process, assigning to Ryan... Ryan, currently designer's POM contains two additional executions of the maven-war-plugin. This results in three WAR artifacts. The one that is included in BRMS product packages is missing some libs, which are provided by EAP and not by Tomcat (EWS). Do you think the POM build can be configured in such a way that it produces a WAR that can be deployed to both EAP and EWS (and resolve bug 790109 at the same time)?
OK, I think this should be no problem.
Log4j-over-slf4j.jar have been added in ER4. Update the status to ON_QA and please verify.
Verified fixed in 5.3.0 ER6.