Details
-
Bug
-
Resolution: Done
-
Major
-
None
-
None
-
None
Description
Description of problem:
Injection of KIE module through CDI fails on JBoss EAP 6.0/6.1 due to wrong processing of resource URI when loading pom.properties in ClasspathKieProject.
Version-Release number of selected component (if applicable):
BRMS 6.0.0.Beta1
EAP 6.0, 6.1.ER4
How reproducible:
Deploy the attached reproducer WAR. Deployment fails, server.log contains the following error (see attachment for all errors in log):
15:40:29,923 INFO [stdout] (MSC service thread 1-2) kmodules: vfs:/content/kie-cdi-war-web-app-1.0.0-SNAPSHOT.war/WEB-INF/lib/kie-cdi-war-kie-module-1.0.0-SNAPSHOT.jar/META-INF/kmodule.xml
15:40:29,939 ERROR [org.drools.compiler.kie.builder.impl.ClasspathKieProject] (MSC service thread 1-2) Unable to load pom.properties from/content/kie-cdi-war-web-app-1.0.0-SNAPSHOT.war/WEB-INF/lib/kie-cdi-war-kie-module-1.0.0-SNAPSHOT.jar as jarPath cannot be found
/content/kie-cdi-war-web-app-1.0.0-SNAPSHOT.war/WEB-INF/lib/kie-cdi-war-kie-module-1.0.0-SNAPSHOT.jar
The first log line shows that ClasspathKieProject located kmodule.xml at URL starting with protocol 'vfs:'. Later, in method fixURLFromKProjectPath, the protocol prefix is removed, leading to URL /content/kie-cdi-war-web-app-1.0.0-SNAPSHOT.war/WEB-INF/lib/kie-cdi-war-kie-module-1.0.0-SNAPSHOT.jar which now references absolute path which is wrong.
Steps to Reproduce:
1. Deploy attached reproducer WAR on EAP 6.
2. Watch server.log for deployment errors.
Actual results:
Deployment fails due to failed injection.
Expected results:
Application deploys successfully and writes INFO message into server.log.
Additional info:
This issue blocks further testing if KIE module injection through CDI. It also renders the CDI feature unusable in real environment (e.g. some web or EJB container with CDI).
Attachments
Issue Links
- relates to
-
DROOLS-299 Support rule configuration in a web archive
- Resolved