Uploaded image for project: 'Drools'
  1. Drools
  2. DROOLS-649

Complex Dependencies Cause

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 6.2.0.CR3
    • 6.1.0.Final
    • None
    • Hide

      Create a project with external dependencies. Build the project and put it somewhere to be referenced in Workbench. (I created a WildFly global module, but I don't think it matters.) Create a new Workbench project and reference the library you created.

      Here is the pom.xml of the test project I created to demonstrate this:

      <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <groupId>com.test.drools</groupId>
      <artifactId>WorkbenchTest</artifactId>
      <version>1.0</version>

      <build>
      <finalName>${project.artifactId}</finalName>
      <plugins>
      <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>2.3.2</version>
      <configuration>
      <source>1.7</source>
      <target>1.7</target>
      </configuration>
      </plugin>
      <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-jar-plugin</artifactId>
      <version>2.5</version>
      </plugin>
      <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <version>2.18</version>
      </plugin>
      </plugins>
      </build>

      <properties>
      <org.springframework.version>4.1.1.RELEASE</org.springframework.version>
      <hibernate.version>4.3.6.Final</hibernate.version>
      <log4j.version>1.2.17</log4j.version>
      <junit.version>4.11</junit.version>
      <mockito.version>1.9.5</mockito.version>
      </properties>

      <dependencies>
      <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-beans</artifactId>
      <version>${org.springframework.version}</version>
      </dependency>
      <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>${org.springframework.version}</version>
      </dependency>
      <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${org.springframework.version}</version>
      </dependency>
      <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-orm</artifactId>
      <version>${org.springframework.version}</version>
      </dependency>
      <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-core</artifactId>
      <version>${hibernate.version}</version>
      </dependency>
      <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-entitymanager</artifactId>
      <version>${hibernate.version}</version>
      </dependency>
      <dependency>
      <groupId>com.microsoft.sqlserver</groupId>
      <artifactId>sqljdbc4</artifactId>
      <version>4.0</version>
      </dependency>
      <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>${log4j.version}</version>
      <scope>provided</scope>
      </dependency>
      <dependency>
      <groupId>commons-dbcp</groupId>
      <artifactId>commons-dbcp</artifactId>
      <version>1.4</version>
      <scope>test</scope>
      </dependency>
      <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>${junit.version}</version>
      <scope>test</scope>
      </dependency>
      <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-all</artifactId>
      <version>${mockito.version}</version>
      <scope>test</scope>
      </dependency>
      <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <version>${org.springframework.version}</version>
      </dependency>
      </dependencies>

      </project>

      Show
      Create a project with external dependencies. Build the project and put it somewhere to be referenced in Workbench. (I created a WildFly global module, but I don't think it matters.) Create a new Workbench project and reference the library you created. Here is the pom.xml of the test project I created to demonstrate this: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd "> <modelVersion>4.0.0</modelVersion> <groupId>com.test.drools</groupId> <artifactId>WorkbenchTest</artifactId> <version>1.0</version> <build> <finalName>${project.artifactId}</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.5</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.18</version> </plugin> </plugins> </build> <properties> <org.springframework.version>4.1.1.RELEASE</org.springframework.version> <hibernate.version>4.3.6.Final</hibernate.version> <log4j.version>1.2.17</log4j.version> <junit.version>4.11</junit.version> <mockito.version>1.9.5</mockito.version> </properties> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>${org.springframework.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${org.springframework.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${org.springframework.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>${org.springframework.version}</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>${hibernate.version}</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>${hibernate.version}</version> </dependency> <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>sqljdbc4</artifactId> <version>4.0</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>${log4j.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>1.4</version> <scope>test</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-all</artifactId> <version>${mockito.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${org.springframework.version}</version> </dependency> </dependencies> </project>

      When I add a dependency to my project that has other dependencies, KIE fills up my log file with multiple warnings and errors. See the forum reference for a sampling of messages I am receiving. One single reference filled my log file with 8MB of messages.

      KIE appears to attempt to load every dependency of my dependency, and every dependency of those dependencies, and so on. The system becomes unusable for a while. After the scan is done, my Type drop down in the Data Modeler is filled with so many classes that it is difficult to find what I need.

      The last problem (not mentioned in the forum) is that I can't shut down WildFly. I seem to get stuck in an endless loop with the following message being displayed repeatedly:

      13:41:55,522 WARN [org.jbpm.executor.impl.ExecutorRunnable] (pool-14-thread-1) Error while executing jobs due to {}null

      It's possible that WildFly would eventually shut down, but I end up stopping the task forcibly.

              manstis@redhat.com Michael Anstis
              jboss_person Patrick Thomas (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: